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 =