comparison src/monoize.sml @ 1282:a9a500d22ebc

Roll back WHERE checking
author Adam Chlipala <adam@chlipala.net>
date Tue, 27 Jul 2010 14:04:09 -0400
parents 60e19545841b
children 5137b0537c92
comparison
equal deleted inserted replaced
1281:60e19545841b 1282:a9a500d22ebc
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'.PolEqual {table = tab, field = nm, known = true})
3815 | _ => (poly (); (e, L'.PolClient)))
3816 | L.EApp ((L.ECApp
3817 ((L.ECApp
3818 ((L.ECApp
3819 ((L.ECApp
3820 ((L.EFfi ("Basis", "equalAny"), _), nm), _), _), _),
3821 _), _), _), _), tab) =>
3822 (case #1 nm of
3823 L.CName nm => (tab, fn tab => L'.PolEqual {table = tab, field = nm, known = false})
3824 | _ => (poly (); (e, L'.PolClient)))
3825 | _ => (poly (); (e, L'.PolClient)) 3807 | _ => (poly (); (e, L'.PolClient))
3826 3808
3827 val (e, fm) = monoExp (env, St.empty, fm) e 3809 val (e, fm) = monoExp (env, St.empty, fm) e
3828 in 3810 in
3829 ([(L'.DPolicy (make e), loc)], fm) 3811 ([(L'.DPolicy (make e), loc)], fm)