diff src/mono_reduce.sml @ 568:55fc747a67dc

Initial <dyn> support
author Adam Chlipala <adamc@hcoop.net>
date Sat, 20 Dec 2008 15:46:48 -0500
parents a152905c3c3b
children 57018f21cd5c
line wrap: on
line diff
--- a/src/mono_reduce.sml	Sat Dec 20 14:19:21 2008 -0500
+++ b/src/mono_reduce.sml	Sat Dec 20 15:46:48 2008 -0500
@@ -75,7 +75,8 @@
       | ELet (_, _, e1, e2) => impure e1 orelse impure e2
 
       | EClosure (_, es) => List.exists impure es
-      | EJavaScript e => impure e
+      | EJavaScript (_, e) => impure e
+      | ESignalReturn e => impure e
 
 
 val liftExpInExp = Monoize.liftExpInExp
@@ -330,7 +331,8 @@
               | EDml e => summarize d e @ [WriteDb]
               | ENextval e => summarize d e @ [WriteDb]
               | EUnurlify (e, _) => summarize d e
-              | EJavaScript e => summarize d e
+              | EJavaScript (_, e) => summarize d e
+              | ESignalReturn e => summarize d e
 
 
         fun exp env e =
@@ -421,6 +423,7 @@
                             fun trySub () =
                                 case t of
                                     (TFfi ("Basis", "string"), _) => doSub ()
+                                  | (TSignal _, _) => e
                                   | _ =>
                                     case e' of
                                         (ECase _, _) => e