EVar -> EString in default for DefaultWebNode
[hcoop/domtool2.git] / src / eval.sml
index 1fec487..08fd7f5 100644 (file)
@@ -60,7 +60,12 @@ fun exec' evs (eAll as (e, _)) =
     case e of
        ESkip => SM.empty
       | ESet (ev, e) => SM.insert (SM.empty, ev, e)
-      | EGet (x, _, ev, e) => exec' evs (Reduce.subst x (lookup (evs, ev)) e)
+      | EGet (x, _, ev, e) =>
+       let
+           val e' = Reduce.subst x (lookup (evs, ev)) e
+       in
+           exec' evs (Reduce.reduceExp Env.empty e')
+       end
       | ESeq es =>
        let
            val (new, _) =
@@ -113,4 +118,6 @@ fun exec evs e =
        Env.post ()
     end
 
+val exec' = fn evs => fn e => conjoin (evs, exec' evs e)
+
 end