comparison src/rpcify.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 2831be2daf2e
children 72670131dace
comparison
equal deleted inserted replaced
1019:68ba074e260f 1020:dfe34fad749d
110 (DExport (Rpc ReadWrite, n), loc) :: #export_decls st) 110 (DExport (Rpc ReadWrite, n), loc) :: #export_decls st)
111 111
112 val st = {exported = exported, 112 val st = {exported = exported,
113 export_decls = export_decls} 113 export_decls = export_decls}
114 114
115 val k = (ECApp ((EFfi ("Basis", "return"), loc), 115 val e' = EServerCall (n, args, ran)
116 (CFfi ("Basis", "transaction"), loc)), loc)
117 val k = (ECApp (k, ran), loc)
118 val k = (EApp (k, (EFfi ("Basis", "transaction_monad"), loc)), loc)
119 val e' = EServerCall (n, args, k, ran, ran)
120 in 116 in
121 (e', st) 117 (e', st)
122 end 118 end
123 in 119 in
124 case e of 120 case e of