summaryrefslogtreecommitdiff
path: root/src/cjr_env.sml
diff options
context:
space:
mode:
Diffstat (limited to 'src/cjr_env.sml')
-rw-r--r--src/cjr_env.sml7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/cjr_env.sml b/src/cjr_env.sml
index 686c99b1..bad365a5 100644
--- a/src/cjr_env.sml
+++ b/src/cjr_env.sml
@@ -119,7 +119,12 @@ fun lookupStruct (env : env) n =
fun declBinds env (d, loc) =
case d of
DVal (x, n, t, _) => pushENamed env x n t
- | DFun (fx, n, _, dom, ran, _) => pushENamed env fx n (TFun (dom, ran), loc)
+ | DFun (fx, n, args, ran, _) =>
+ let
+ val t = foldl (fn ((_, arg), t) => (TFun (arg, t), loc)) ran args
+ in
+ pushENamed env fx n t
+ end
| DStruct (n, xts) => pushStruct env n xts
end