comparison src/mono_util.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 cc956020801b
children 7a4a55e05081
comparison
equal deleted inserted replaced
1019:68ba074e260f 1020:dfe34fad749d
360 | ESignalSource e => 360 | ESignalSource e =>
361 S.map2 (mfe ctx e, 361 S.map2 (mfe ctx e,
362 fn e' => 362 fn e' =>
363 (ESignalSource e', loc)) 363 (ESignalSource e', loc))
364 364
365 | EServerCall (s, ek, t, eff) => 365 | EServerCall (s, t, eff) =>
366 S.bind2 (mfe ctx s, 366 S.bind2 (mfe ctx s,
367 fn s' => 367 fn s' =>
368 S.bind2 (mfe ctx ek, 368 S.map2 (mft t,
369 fn ek' => 369 fn t' =>
370 S.map2 (mft t, 370 (EServerCall (s', t', eff), loc)))
371 fn t' =>
372 (EServerCall (s', ek', t', eff), loc))))
373 | ERecv (s, ek, t) => 371 | ERecv (s, ek, t) =>
374 S.bind2 (mfe ctx s, 372 S.bind2 (mfe ctx s,
375 fn s' => 373 fn s' =>
376 S.bind2 (mfe ctx ek, 374 S.bind2 (mfe ctx ek,
377 fn ek' => 375 fn ek' =>