Mercurial > urweb
comparison src/monoize.sml @ 1199:c316ca3c9ec6
Pushing policies through
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 04 Apr 2010 12:29:34 -0400 |
parents | 134da5110bf7 |
children | ae3036773768 |
comparison
equal
deleted
inserted
replaced
1197:6d8e3dcb9713 | 1199:c316ca3c9ec6 |
---|---|
3736 in | 3736 in |
3737 SOME (env, | 3737 SOME (env, |
3738 fm, | 3738 fm, |
3739 [(L'.DTask (e1, e2), loc)]) | 3739 [(L'.DTask (e1, e2), loc)]) |
3740 end | 3740 end |
3741 | L.DPolicy e => | |
3742 let | |
3743 val (e, make) = | |
3744 case #1 e of | |
3745 L.EApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "query_policy"), _), _), _), _), _), e) => | |
3746 (e, L'.PolQuery) | |
3747 | _ => (poly (); (e, L'.PolQuery)) | |
3748 | |
3749 val (e, fm) = monoExp (env, St.empty, fm) e | |
3750 in | |
3751 SOME (env, | |
3752 fm, | |
3753 [(L'.DPolicy (make e), loc)]) | |
3754 end | |
3741 end | 3755 end |
3742 | 3756 |
3743 datatype expungable = Client | Channel | 3757 datatype expungable = Client | Channel |
3744 | 3758 |
3745 fun monoize env file = | 3759 fun monoize env file = |