diff src/core_util.sml @ 339:075b36dbb1a4

Crud supports INSERT
author Adam Chlipala <adamc@hcoop.net>
date Sun, 14 Sep 2008 15:10:04 -0400
parents e976b187d73a
children ab3177746c78
line wrap: on
line diff
--- a/src/core_util.sml	Sun Sep 14 11:02:18 2008 -0400
+++ b/src/core_util.sml	Sun Sep 14 15:10:04 2008 -0400
@@ -424,6 +424,19 @@
                                              S.map2 (mfc ctx rest,
                                                   fn rest' =>
                                                      (EField (e', c', {field = field', rest = rest'}), loc)))))
+              | EWith (e1, c, e2, {field, rest}) =>
+                S.bind2 (mfe ctx e1,
+                      fn e1' =>
+                         S.bind2 (mfc ctx c,
+                              fn c' =>
+                                 S.bind2 (mfe ctx e2,
+                                       fn e2' =>
+                                          S.bind2 (mfc ctx field,
+                                                fn field' =>
+                                                   S.map2 (mfc ctx rest,
+                                                        fn rest' =>
+                                                           (EWith (e1', c', e2', {field = field', rest = rest'}),
+                                                            loc))))))
               | ECut (e, c, {field, rest}) =>
                 S.bind2 (mfe ctx e,
                       fn e' =>