comparison src/monoize.sml @ 1280:3d06e0f7a6f3

Initial version of equalKnown working for secret
author Adam Chlipala <adam@chlipala.net>
date Tue, 27 Jul 2010 11:42:30 -0400
parents 56bd4a4f6e66
children 60e19545841b
comparison
equal deleted inserted replaced
1279:4c367c8f5b2d 1280:3d06e0f7a6f3
3802 (e, L'.PolDelete) 3802 (e, L'.PolDelete)
3803 | L.EApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "mayUpdate"), _), _), _), _), _), e) => 3803 | L.EApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "mayUpdate"), _), _), _), _), _), e) =>
3804 (e, L'.PolUpdate) 3804 (e, L'.PolUpdate)
3805 | L.EFfiApp ("Basis", "sendOwnIds", [e]) => 3805 | L.EFfiApp ("Basis", "sendOwnIds", [e]) =>
3806 (e, L'.PolSequence) 3806 (e, L'.PolSequence)
3807 | L.EApp ((L.ECApp
3808 ((L.ECApp
3809 ((L.ECApp
3810 ((L.ECApp
3811 ((L.EFfi ("Basis", "equalKnown"), _), nm), _), _), _),
3812 _), _), _), _), tab) =>
3813 (case #1 nm of
3814 L.CName nm => (tab, fn tab => L'.PolEqualKnown {table = tab, field = nm})
3815 | _ => (poly (); (e, L'.PolClient)))
3807 | _ => (poly (); (e, L'.PolClient)) 3816 | _ => (poly (); (e, L'.PolClient))
3808 3817
3809 val (e, fm) = monoExp (env, St.empty, fm) e 3818 val (e, fm) = monoExp (env, St.empty, fm) e
3810 in 3819 in
3811 ([(L'.DPolicy (make e), loc)], fm) 3820 ([(L'.DPolicy (make e), loc)], fm)