Mercurial > urweb
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)) |