comparison src/elab_util.sml @ 149:7420fa18d657

Record cut
author Adam Chlipala <adamc@hcoop.net>
date Thu, 24 Jul 2008 10:09:21 -0400
parents e3041657d653
children 34ccd7d2bea8
comparison
equal deleted inserted replaced
148:15e8b9775539 149:7420fa18d657
290 S.bind2 (mfc ctx field, 290 S.bind2 (mfc ctx field,
291 fn field' => 291 fn field' =>
292 S.map2 (mfc ctx rest, 292 S.map2 (mfc ctx rest,
293 fn rest' => 293 fn rest' =>
294 (EField (e', c', {field = field', rest = rest'}), loc))))) 294 (EField (e', c', {field = field', rest = rest'}), loc)))))
295 | ECut (e, c, {field, rest}) =>
296 S.bind2 (mfe ctx e,
297 fn e' =>
298 S.bind2 (mfc ctx c,
299 fn c' =>
300 S.bind2 (mfc ctx field,
301 fn field' =>
302 S.map2 (mfc ctx rest,
303 fn rest' =>
304 (ECut (e', c', {field = field', rest = rest'}), loc)))))
295 305
296 | EFold k => 306 | EFold k =>
297 S.map2 (mfk k, 307 S.map2 (mfk k,
298 fn k' => 308 fn k' =>
299 (EFold k', loc)) 309 (EFold k', loc))