comparison src/mono_util.sml @ 642:4a125bbc602d

Conversion of functions to CPS, to facilitate ServerCall
author Adam Chlipala <adamc@hcoop.net>
date Sun, 08 Mar 2009 20:34:21 -0400
parents 5891f47d7cff
children f73913d97a40
comparison
equal deleted inserted replaced
641:b98f547a6a45 642:4a125bbc602d
348 | ESignalSource e => 348 | ESignalSource e =>
349 S.map2 (mfe ctx e, 349 S.map2 (mfe ctx e,
350 fn e' => 350 fn e' =>
351 (ESignalSource e', loc)) 351 (ESignalSource e', loc))
352 352
353 | EServerCall (n, ek, t) => 353 | EServerCall (s, ek, t) =>
354 S.bind2 (mfe ctx ek, 354 S.bind2 (mfe ctx s,
355 fn ek' => 355 fn s' =>
356 S.map2 (mft t, 356 S.bind2 (mfe ctx ek,
357 fn t' => 357 fn ek' =>
358 (EServerCall (n, ek', t'), loc))) 358 S.map2 (mft t,
359 fn t' =>
360 (EServerCall (s', ek', t'), loc))))
359 in 361 in
360 mfe 362 mfe
361 end 363 end
362 364
363 fun mapfold {typ = fc, exp = fe} = 365 fun mapfold {typ = fc, exp = fe} =