val dmy = ErrorMsg.dummyLoc
val defaultT : record ref = ref SM.empty
-val defaultV : exp SM.map ref = ref SM.empty
+val defaultV : (unit -> exp) SM.map ref = ref SM.empty
fun registerDefault (name, t, v) =
case SM.find (!defaultT, name) of
(b, NONE)
else
let
+ val _ = ErrorMsg.reset ()
val prog = Parse.parse fname
in
if !ErrorMsg.anyErrors then
if !ErrorMsg.anyErrors then
()
else
- Eval.exec (!defaultV) body'
+ Eval.exec (SM.map (fn f => f ()) (!defaultV)) body'
| NONE => ()
end