HCoop
/
hcoop
/
domtool2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Catch-all aliases working again
[hcoop/domtool2.git]
/
src
/
env.sml
diff --git
a/src/env.sml
b/src/env.sml
index
1a93a38
..
edb1ffd
100644
(file)
--- a/
src/env.sml
+++ b/
src/env.sml
@@
-41,6
+41,11
@@
fun registerContainer (name, befor, after) =
containers := SM.insert (!containers, name, (befor, after))
fun container name = SM.find (!containers, name)
containers := SM.insert (!containers, name, (befor, after))
fun container name = SM.find (!containers, name)
+val functions : (exp list -> exp option) SM.map ref = ref SM.empty
+fun registerFunction (name, f) =
+ functions := SM.insert (!functions, name, f)
+fun function name = SM.find (!functions, name)
+
local
val pr = ref (fn () => ())
in
local
val pr = ref (fn () => ())
in
@@
-165,7
+170,9
@@
fun env arg (evs, name) =
NONE => raise Fail ("Unavailable environment variable " ^ name)
| SOME e =>
case arg e of
NONE => raise Fail ("Unavailable environment variable " ^ name)
| SOME e =>
case arg e of
- NONE => raise Fail ("Bad format for environment variable " ^ name)
+ NONE => (Print.preface ("Unexpected value for " ^ name ^ ":",
+ Print.p_exp e);
+ raise Fail ("Bad format for environment variable " ^ name))
| SOME v => v
fun type_one func arg f =
| SOME v => v
fun type_one func arg f =