comparison src/expl_util.sml @ 87:275aaeb73f1f

Push KUnit and CUnit through the phases
author Adam Chlipala <adamc@hcoop.net>
date Tue, 01 Jul 2008 13:23:46 -0400
parents 0ee10f4d73cf
children 813e5a52063d
comparison
equal deleted inserted replaced
86:7f9bcc8bfa1e 87:275aaeb73f1f
53 53
54 | KRecord k => 54 | KRecord k =>
55 S.map2 (mfk k, 55 S.map2 (mfk k,
56 fn k' => 56 fn k' =>
57 (KRecord k', loc)) 57 (KRecord k', loc))
58
59 | KUnit => S.return2 kAll
58 in 60 in
59 mfk 61 mfk
60 end 62 end
61 63
62 fun exists f k = 64 fun exists f k =
142 S.bind2 (mfk k1, 144 S.bind2 (mfk k1,
143 fn k1' => 145 fn k1' =>
144 S.map2 (mfk k2, 146 S.map2 (mfk k2,
145 fn k2' => 147 fn k2' =>
146 (CFold (k1', k2'), loc))) 148 (CFold (k1', k2'), loc)))
149
150 | CUnit => S.return2 cAll
147 in 151 in
148 mfc 152 mfc
149 end 153 end
150 154
151 fun mapfold {kind = fk, con = fc} = 155 fun mapfold {kind = fk, con = fc} =