comparison src/effectize.sml @ 1020:dfe34fad749d

RPC uses VM support for call/cc
author Adam Chlipala <adamc@hcoop.net>
date Sun, 25 Oct 2009 14:07:10 -0400
parents ed06e25c70ef
children 72670131dace
comparison
equal deleted inserted replaced
1019:68ba074e260f 1020:dfe34fad749d
44 fun expOnload evs e = 44 fun expOnload evs e =
45 case e of 45 case e of
46 EFfi f => effectful f 46 EFfi f => effectful f
47 | EFfiApp (m, x, _) => effectful (m, x) 47 | EFfiApp (m, x, _) => effectful (m, x)
48 | ENamed n => IM.inDomain (evs, n) 48 | ENamed n => IM.inDomain (evs, n)
49 | EServerCall (n, _, _, _, _) => IM.inDomain (evs, n) 49 | EServerCall (n, _, _) => IM.inDomain (evs, n)
50 | _ => false 50 | _ => false
51 51
52 fun couldWriteOnload evs = U.Exp.exists {kind = fn _ => false, 52 fun couldWriteOnload evs = U.Exp.exists {kind = fn _ => false,
53 con = fn _ => false, 53 con = fn _ => false,
54 exp = expOnload evs} 54 exp = expOnload evs}
68 68
69 fun exp evs e = 69 fun exp evs e =
70 case e of 70 case e of
71 EFfi ("Basis", "getCookie") => true 71 EFfi ("Basis", "getCookie") => true
72 | ENamed n => IM.inDomain (evs, n) 72 | ENamed n => IM.inDomain (evs, n)
73 | EServerCall (n, _, _, _, _) => IM.inDomain (evs, n) 73 | EServerCall (n, _, _) => IM.inDomain (evs, n)
74 | _ => false 74 | _ => false
75 75
76 fun couldReadCookie evs = U.Exp.exists {kind = fn _ => false, 76 fun couldReadCookie evs = U.Exp.exists {kind = fn _ => false,
77 con = fn _ => false, 77 con = fn _ => false,
78 exp = exp evs} 78 exp = exp evs}