diff src/urweb.grm @ 299:5f6a60b7ab00

Elaborated 'insert'
author Adam Chlipala <adamc@hcoop.net>
date Sun, 07 Sep 2008 13:47:10 -0400
parents bacd0ba869e1
children cde1ec47f3af
line wrap: on
line diff
--- a/src/urweb.grm	Sun Sep 07 13:31:45 2008 -0400
+++ b/src/urweb.grm	Sun Sep 07 13:47:10 2008 -0400
@@ -607,6 +607,14 @@
                                          in
                                              (EApp (e, (EAbs (SYMBOL, NONE, eexp2), loc)), loc)
                                          end)
+       | UNIT LARROW eexp SEMI eexp     (let
+                                             val loc = s (UNITleft, eexp2right)
+                                             val e = (EVar (["Basis"], "bind"), loc)
+                                             val e = (EApp (e, eexp1), loc)
+                                             val t = (TRecord (CRecord [], loc), loc)
+                                         in
+                                             (EApp (e, (EAbs ("_", SOME t, eexp2), loc)), loc)
+                                         end)
        | eexp EQ eexp                   (native_op ("eq", eexp1, eexp2, s (eexp1left, eexp2right)))
        | eexp NE eexp                   (native_op ("ne", eexp1, eexp2, s (eexp1left, eexp2right)))