HCoop
/
hcoop
/
domtool2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More Apache directory option stuff
[hcoop/domtool2.git]
/
src
/
main.sml
diff --git
a/src/main.sml
b/src/main.sml
index
59a76d5
..
705b20a
100644
(file)
--- a/
src/main.sml
+++ b/
src/main.sml
@@
-27,7
+27,7
@@
structure SM = StringMap
val dmy = ErrorMsg.dummyLoc
val defaultT : record ref = ref SM.empty
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
fun registerDefault (name, t, v) =
case SM.find (!defaultT, name) of
@@
-81,6
+81,7
@@
fun basis () =
fun check fname =
let
val _ = ErrorMsg.reset ()
fun check fname =
let
val _ = ErrorMsg.reset ()
+ val _ = Env.preTycheck ()
val b = basis ()
in
val b = basis ()
in
@@
-88,6
+89,7
@@
fun check fname =
(b, NONE)
else
let
(b, NONE)
else
let
+ val _ = ErrorMsg.reset ()
val prog = Parse.parse fname
in
if !ErrorMsg.anyErrors then
val prog = Parse.parse fname
in
if !ErrorMsg.anyErrors then
@@
-128,7
+130,7
@@
fun eval fname =
if !ErrorMsg.anyErrors then
()
else
if !ErrorMsg.anyErrors then
()
else
- Eval.exec (
!defaultV
) body'
+ Eval.exec (
SM.map (fn f => f ()) (!defaultV)
) body'
| NONE => ()
end
| NONE => ()
end