comparison src/monoize.sml @ 1281:60e19545841b

equalAny policies
author Adam Chlipala <adam@chlipala.net>
date Tue, 27 Jul 2010 12:12:08 -0400
parents 3d06e0f7a6f3
children a9a500d22ebc
comparison
equal deleted inserted replaced
1280:3d06e0f7a6f3 1281:60e19545841b
3809 ((L.ECApp 3809 ((L.ECApp
3810 ((L.ECApp 3810 ((L.ECApp
3811 ((L.EFfi ("Basis", "equalKnown"), _), nm), _), _), _), 3811 ((L.EFfi ("Basis", "equalKnown"), _), nm), _), _), _),
3812 _), _), _), _), tab) => 3812 _), _), _), _), tab) =>
3813 (case #1 nm of 3813 (case #1 nm of
3814 L.CName nm => (tab, fn tab => L'.PolEqualKnown {table = tab, field = nm}) 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})
3815 | _ => (poly (); (e, L'.PolClient))) 3824 | _ => (poly (); (e, L'.PolClient)))
3816 | _ => (poly (); (e, L'.PolClient)) 3825 | _ => (poly (); (e, L'.PolClient))
3817 3826
3818 val (e, fm) = monoExp (env, St.empty, fm) e 3827 val (e, fm) = monoExp (env, St.empty, fm) e
3819 in 3828 in