comparison src/monoize.sml @ 608:330a7de47914

Export RPC functions and push RPC calls through to Mono
author Adam Chlipala <adamc@hcoop.net>
date Sun, 15 Feb 2009 09:27:36 -0500
parents 0dd40b6bfdf3
children 56aaa1941dad
comparison
equal deleted inserted replaced
607:0dd40b6bfdf3 608:330a7de47914
2223 val (e2, fm) = monoExp (Env.pushERel env x t, st, fm) e2 2223 val (e2, fm) = monoExp (Env.pushERel env x t, st, fm) e2
2224 in 2224 in
2225 ((L'.ELet (x, t', e1, e2), loc), fm) 2225 ((L'.ELet (x, t', e1, e2), loc), fm)
2226 end 2226 end
2227 2227
2228 | L.EServerCall _ => raise Fail "Monoize EServerCall" 2228 | L.EServerCall (n, es, ek) =>
2229 let
2230 val (es, fm) = ListUtil.foldlMap (fn (e, fm) => monoExp (env, st, fm) e) fm es
2231 val (ek, fm) = monoExp (env, st, fm) ek
2232 in
2233 ((L'.EServerCall (n, es, ek), loc), fm)
2234 end
2229 end 2235 end
2230 2236
2231 fun monoDecl (env, fm) (all as (d, loc)) = 2237 fun monoDecl (env, fm) (all as (d, loc)) =
2232 let 2238 let
2233 fun poly () = 2239 fun poly () =