comparison src/expl_util.sml @ 493:ae03d09043c1

Add CutMulti
author Adam Chlipala <adamc@hcoop.net>
date Tue, 11 Nov 2008 19:20:37 -0500
parents d34834af4512
children 8998114760c1
comparison
equal deleted inserted replaced
492:4a241d108a2c 493:ae03d09043c1
301 S.bind2 (mfc ctx field, 301 S.bind2 (mfc ctx field,
302 fn field' => 302 fn field' =>
303 S.map2 (mfc ctx rest, 303 S.map2 (mfc ctx rest,
304 fn rest' => 304 fn rest' =>
305 (ECut (e', c', {field = field', rest = rest'}), loc))))) 305 (ECut (e', c', {field = field', rest = rest'}), loc)))))
306 | ECutMulti (e, c, {rest}) =>
307 S.bind2 (mfe ctx e,
308 fn e' =>
309 S.bind2 (mfc ctx c,
310 fn c' =>
311 S.map2 (mfc ctx rest,
312 fn rest' =>
313 (ECutMulti (e', c', {rest = rest'}), loc))))
306 | EFold k => 314 | EFold k =>
307 S.map2 (mfk k, 315 S.map2 (mfk k,
308 fn k' => 316 fn k' =>
309 (EFold k', loc)) 317 (EFold k', loc))
310 318