diff src/mono_reduce.sml @ 601:7c3c21eb5b4c

Initial experiments with nested <dyn>
author Adam Chlipala <adamc@hcoop.net>
date Tue, 13 Jan 2009 15:17:11 -0500
parents 0094e0242100
children 330a7de47914
line wrap: on
line diff
--- a/src/mono_reduce.sml	Sun Jan 11 10:41:38 2009 -0500
+++ b/src/mono_reduce.sml	Tue Jan 13 15:17:11 2009 -0500
@@ -479,11 +479,12 @@
                                               | WriteDb => not writesDb andalso not readsDb andalso verifyCompatible effs
                                 in
                                     (*Print.prefaces "verifyCompatible"
-                                                     [("e'", MonoPrint.p_exp env e'),
-                                                      ("b", MonoPrint.p_exp (E.pushERel env x t NONE) b),
-                                                      ("effs_e'", Print.p_list p_event effs_e'),
-                                                      ("effs_b", Print.p_list p_event effs_b)];*)
-                                    if List.null effs_e' orelse verifyCompatible effs_b then
+                                                   [("e'", MonoPrint.p_exp env e'),
+                                                    ("b", MonoPrint.p_exp (E.pushERel env x t NONE) b),
+                                                    ("effs_e'", Print.p_list p_event effs_e'),
+                                                    ("effs_b", Print.p_list p_event effs_b)];*)
+                                    if List.null effs_e' orelse (List.all (fn eff => eff <> Unsure) effs_e'
+                                                                 andalso verifyCompatible effs_b) then
                                         trySub ()
                                     else
                                         e