diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-02-15 10:32:50 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-02-15 10:32:50 -0500 |
commit | 7bfdd9349b08b82f4e8fceb75749c17f8e8324e2 (patch) | |
tree | 97a0ff4ed73faa83667f997d5fa13306ba98789b /src/core_util.sml | |
parent | 4d6b4140314ee47c6278d75a196fb81da3fedc26 (diff) |
First gimpy RPC
Diffstat (limited to 'src/core_util.sml')
-rw-r--r-- | src/core_util.sml | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core_util.sml b/src/core_util.sml index 3d6808f9..a222dca4 100644 --- a/src/core_util.sml +++ b/src/core_util.sml @@ -482,7 +482,7 @@ fun compare ((e1, _), (e2, _)) = | (ELet _, _) => LESS | (_, ELet _) => GREATER - | (EServerCall (n1, es1, e1), EServerCall (n2, es2, e2)) => + | (EServerCall (n1, es1, e1, _), EServerCall (n2, es2, e2, _)) => join (Int.compare (n1, n2), fn () => join (joinL compare (es1, es2), fn () => compare (e1, e2))) @@ -660,12 +660,14 @@ fun mapfoldB {kind = fk, con = fc, exp = fe, bind} = fn e2' => (ELet (x, t', e1', e2'), loc)))) - | EServerCall (n, es, e) => + | EServerCall (n, es, e, t) => S.bind2 (ListUtil.mapfold (mfe ctx) es, fn es' => - S.map2 (mfe ctx e, + S.bind2 (mfe ctx e, fn e' => - (EServerCall (n, es', e'), loc))) + S.map2 (mfc ctx t, + fn t' => + (EServerCall (n, es', e', t'), loc)))) and mfp ctx (pAll as (p, loc)) = case p of |