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