diff src/mono_util.sml @ 251:326fb4686f60

Monoize transaction identifiers; improve disjointness prover on irreducible folds; change 'query' type
author Adam Chlipala <adamc@hcoop.net>
date Sun, 31 Aug 2008 10:36:54 -0400
parents ab86aa858e6c
children 7e9bd70ad3ce
line wrap: on
line diff
--- a/src/mono_util.sml	Sun Aug 31 09:52:52 2008 -0400
+++ b/src/mono_util.sml	Sun Aug 31 10:36:54 2008 -0400
@@ -213,6 +213,14 @@
                          S.map2 (mfe ctx e2,
                               fn e2' =>
                                  (ESeq (e1', e2'), loc)))
+              | ELet (x, t, e1, e2) =>
+                S.bind2 (mft t,
+                         fn t' =>
+                            S.bind2 (mfe ctx e1,
+                                  fn e1' =>
+                                     S.map2 (mfe (bind (ctx, RelE (x, t))) e2,
+                                          fn e2' =>
+                                             (ELet (x, t', e1', e2'), loc))))
 
               | EClosure (n, es) =>
                 S.map2 (ListUtil.mapfold (mfe ctx) es,