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 =