Mercurial > urweb
diff 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 |
line wrap: on
line diff
--- a/src/monoize.sml Thu Apr 01 17:23:17 2010 -0400 +++ b/src/monoize.sml Sun Apr 04 12:29:34 2010 -0400 @@ -3738,6 +3738,20 @@ fm, [(L'.DTask (e1, e2), loc)]) end + | L.DPolicy e => + let + val (e, make) = + case #1 e of + L.EApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "query_policy"), _), _), _), _), _), e) => + (e, L'.PolQuery) + | _ => (poly (); (e, L'.PolQuery)) + + val (e, fm) = monoExp (env, St.empty, fm) e + in + SOME (env, + fm, + [(L'.DPolicy (make e), loc)]) + end end datatype expungable = Client | Channel