Mercurial > urweb
comparison src/iflow.sml @ 1360:02fc16faecf3
[De]serialization of times in JavaScript; proper integer division in JavaScript; Basis.crypt; Top.mkRead'; more aggressive Mono-level inlining, for values of function-y types
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Thu, 23 Dec 2010 17:46:40 -0500 |
parents | acabf3935060 |
children | 0577be31a435 |
comparison
equal
deleted
inserted
replaced
1359:e525ad571e15 | 1360:02fc16faecf3 |
---|---|
1963 doArgs (e, []) | 1963 doArgs (e, []) |
1964 end | 1964 end |
1965 | 1965 |
1966 | EAbs _ => default () | 1966 | EAbs _ => default () |
1967 | EUnop (s, e1) => evalExp env e1 (fn e1 => k (Func (Other s, [e1]))) | 1967 | EUnop (s, e1) => evalExp env e1 (fn e1 => k (Func (Other s, [e1]))) |
1968 | EBinop (s, e1, e2) => evalExp env e1 (fn e1 => evalExp env e2 (fn e2 => k (Func (Other s, [e1, e2])))) | 1968 | EBinop (_, s, e1, e2) => evalExp env e1 (fn e1 => evalExp env e2 (fn e2 => k (Func (Other s, [e1, e2])))) |
1969 | ERecord xets => | 1969 | ERecord xets => |
1970 let | 1970 let |
1971 fun doFields (xes, acc) = | 1971 fun doFields (xes, acc) = |
1972 case xes of | 1972 case xes of |
1973 [] => k (Recd (rev acc)) | 1973 [] => k (Recd (rev acc)) |
2350 in | 2350 in |
2351 explore (e, []) | 2351 explore (e, []) |
2352 end | 2352 end |
2353 | EAbs (x, t1, t2, e) => (EAbs (x, t1, t2, doExp (Unknown :: env) e), loc) | 2353 | EAbs (x, t1, t2, e) => (EAbs (x, t1, t2, doExp (Unknown :: env) e), loc) |
2354 | EUnop (uo, e1) => (EUnop (uo, doExp env e1), loc) | 2354 | EUnop (uo, e1) => (EUnop (uo, doExp env e1), loc) |
2355 | EBinop (bo, e1, e2) => (EBinop (bo, doExp env e1, doExp env e2), loc) | 2355 | EBinop (bi, bo, e1, e2) => (EBinop (bi, bo, doExp env e1, doExp env e2), loc) |
2356 | ERecord xets => (ERecord (map (fn (x, e, t) => (x, doExp env e, t)) xets), loc) | 2356 | ERecord xets => (ERecord (map (fn (x, e, t) => (x, doExp env e, t)) xets), loc) |
2357 | EField (e1, f) => (EField (doExp env e1, f), loc) | 2357 | EField (e1, f) => (EField (doExp env e1, f), loc) |
2358 | ECase (e, pes, ts) => | 2358 | ECase (e, pes, ts) => |
2359 let | 2359 let |
2360 val source = | 2360 val source = |