comparison src/core_util.sml @ 149:7420fa18d657

Record cut
author Adam Chlipala <adamc@hcoop.net>
date Thu, 24 Jul 2008 10:09:21 -0400
parents 4eb68ed31145
children 80192edca30d
comparison
equal deleted inserted replaced
148:15e8b9775539 149:7420fa18d657
280 S.bind2 (mfc ctx field, 280 S.bind2 (mfc ctx field,
281 fn field' => 281 fn field' =>
282 S.map2 (mfc ctx rest, 282 S.map2 (mfc ctx rest,
283 fn rest' => 283 fn rest' =>
284 (EField (e', c', {field = field', rest = rest'}), loc))))) 284 (EField (e', c', {field = field', rest = rest'}), loc)))))
285 | ECut (e, c, {field, rest}) =>
286 S.bind2 (mfe ctx e,
287 fn e' =>
288 S.bind2 (mfc ctx c,
289 fn c' =>
290 S.bind2 (mfc ctx field,
291 fn field' =>
292 S.map2 (mfc ctx rest,
293 fn rest' =>
294 (ECut (e', c', {field = field', rest = rest'}), loc)))))
285 | EFold k => 295 | EFold k =>
286 S.map2 (mfk k, 296 S.map2 (mfk k,
287 fn k' => 297 fn k' =>
288 (EFold k', loc)) 298 (EFold k', loc))
289 299