summaryrefslogtreecommitdiff
path: root/src/especialize.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2012-01-07 15:56:22 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2012-01-07 15:56:22 -0500
commita1cc396871330fca59e8ab1e463b2a9c7533b166 (patch)
tree587292f9b176c383c7b6332cdc30a817e355fe1d /src/especialize.sml
parentd68be1854bf01323248dead3adeef7b392f1dd1d (diff)
First part of changes to avoid depending on C function call argument order of evaluation (omitting normal Ur function calls, so far)
Diffstat (limited to 'src/especialize.sml')
-rw-r--r--src/especialize.sml7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/especialize.sml b/src/especialize.sml
index 8720a7b1..74babe47 100644
--- a/src/especialize.sml
+++ b/src/especialize.sml
@@ -180,7 +180,12 @@ fun specialize' (funcs, specialized) file =
| EFfi _ => (e, st)
| EFfiApp (m, x, es) =>
let
- val (es, st) = ListUtil.foldlMap (fn (e, st) => exp (env, e, st)) st es
+ val (es, st) = ListUtil.foldlMap (fn ((e, t), st) =>
+ let
+ val (e, st) = exp (env, e, st)
+ in
+ ((e, t), st)
+ end) st es
in
((EFfiApp (m, x, es), loc), st)
end