summaryrefslogtreecommitdiff
path: root/src/cjr_env.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-07-17 11:02:10 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-07-17 11:02:10 -0400
commitf97f99744f08737c22c83d17b77449c78213b3f8 (patch)
tree94d7c5f9dc6a1b5643ce7c2b385d687df6399931 /src/cjr_env.sml
parent555eacbc718a0fdaa7b539ab082a4e834ca583b1 (diff)
Compiled (non-mutual) 'val rec'
Diffstat (limited to 'src/cjr_env.sml')
-rw-r--r--src/cjr_env.sml7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/cjr_env.sml b/src/cjr_env.sml
index bad365a5..a44359db 100644
--- a/src/cjr_env.sml
+++ b/src/cjr_env.sml
@@ -125,6 +125,13 @@ fun declBinds env (d, loc) =
in
pushENamed env fx n t
end
+ | DFunRec vis =>
+ foldl (fn ((fx, n, args, ran, _), env) =>
+ let
+ val t = foldl (fn ((_, arg), t) => (TFun (arg, t), loc)) ran args
+ in
+ pushENamed env fx n t
+ end) env vis
| DStruct (n, xts) => pushStruct env n xts
end