comparison src/monoize.sml @ 736:796e42c93c48

Cookie signatures for RPCs
author Adam Chlipala <adamc@hcoop.net>
date Thu, 23 Apr 2009 16:13:02 -0400
parents 5ccb67665d05
children d049d31a1966
comparison
equal deleted inserted replaced
735:5ccb67665d05 736:796e42c93c48
2666 (L'.TRecord [], loc), 2666 (L'.TRecord [], loc),
2667 (L'.EApp ((L'.EApp ((L'.ERel 1, loc), 2667 (L'.EApp ((L'.EApp ((L'.ERel 1, loc),
2668 (L'.ERel 0, loc)), loc), 2668 (L'.ERel 0, loc)), loc),
2669 (L'.ERecord [], loc)), loc)), loc)), loc) 2669 (L'.ERecord [], loc)), loc)), loc)), loc)
2670 val ek = (L'.EApp (ekf, ek), loc) 2670 val ek = (L'.EApp (ekf, ek), loc)
2671 val e = (L'.EServerCall (call, ek, t), loc) 2671 val eff = if IS.member (!readCookie, n) then
2672 L'.ReadCookieWrite
2673 else
2674 L'.ReadOnly
2675 val e = (L'.EServerCall (call, ek, t, eff), loc)
2672 val e = liftExpInExp 0 e 2676 val e = liftExpInExp 0 e
2673 val unit = (L'.TRecord [], loc) 2677 val unit = (L'.TRecord [], loc)
2674 val e = (L'.EAbs ("_", unit, unit, e), loc) 2678 val e = (L'.EAbs ("_", unit, unit, e), loc)
2675 in 2679 in
2676 (e, fm) 2680 (e, fm)