Mercurial > urweb
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 |