aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/cjr_env.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-07-13 20:24:05 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-07-13 20:24:05 -0400
commitcf6caf0383daf8cb576edf5c1f0f736d2f4c85bd (patch)
tree5ddacbdd84964c107c03a631bf221d4fb9072691 /src/cjr_env.sml
parent811a3831805bf7a87ed3a64156f4ac6f6246edb9 (diff)
Multiple arguments to web functions
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