comparison src/expl_util.sml @ 149:7420fa18d657

Record cut
author Adam Chlipala <adamc@hcoop.net>
date Thu, 24 Jul 2008 10:09:21 -0400
parents 813e5a52063d
children 06a98129b23f
comparison
equal deleted inserted replaced
148:15e8b9775539 149:7420fa18d657
265 S.bind2 (mfc ctx field, 265 S.bind2 (mfc ctx field,
266 fn field' => 266 fn field' =>
267 S.map2 (mfc ctx rest, 267 S.map2 (mfc ctx rest,
268 fn rest' => 268 fn rest' =>
269 (EField (e', c', {field = field', rest = rest'}), loc))))) 269 (EField (e', c', {field = field', rest = rest'}), loc)))))
270 | ECut (e, c, {field, rest}) =>
271 S.bind2 (mfe ctx e,
272 fn e' =>
273 S.bind2 (mfc ctx c,
274 fn c' =>
275 S.bind2 (mfc ctx field,
276 fn field' =>
277 S.map2 (mfc ctx rest,
278 fn rest' =>
279 (ECut (e', c', {field = field', rest = rest'}), loc)))))
270 | EFold k => 280 | EFold k =>
271 S.map2 (mfk k, 281 S.map2 (mfk k,
272 fn k' => 282 fn k' =>
273 (EFold k', loc)) 283 (EFold k', loc))
274 284