Mercurial > urweb
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 () = |