Mercurial > urweb
diff src/expl_util.sml @ 449:89f766f19d5b
Explify 'let'
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 01 Nov 2008 16:08:39 -0400 |
parents | dfc8c991abd0 |
children | 787d4931fb07 |
line wrap: on
line diff
--- a/src/expl_util.sml Sat Nov 01 15:58:55 2008 -0400 +++ b/src/expl_util.sml Sat Nov 01 16:08:39 2008 -0400 @@ -325,6 +325,15 @@ S.map2 (mfc ctx result, fn result' => (ECase (e', pes', {disc = disc', result = result'}), loc))))) + + | ELet (x, t, e1, e2) => + S.bind2 (mfc ctx t, + fn t' => + S.bind2 (mfe ctx e1, + fn e1' => + S.map2 (mfe ctx e2, + fn e2' => + (ELet (x, t', e1', e2'), loc)))) in mfe end