comparison src/elab_util.sml @ 339:075b36dbb1a4

Crud supports INSERT
author Adam Chlipala <adamc@hcoop.net>
date Sun, 14 Sep 2008 15:10:04 -0400
parents e976b187d73a
children b85e6ba56618
comparison
equal deleted inserted replaced
338:e976b187d73a 339:075b36dbb1a4
315 S.bind2 (mfc ctx field, 315 S.bind2 (mfc ctx field,
316 fn field' => 316 fn field' =>
317 S.map2 (mfc ctx rest, 317 S.map2 (mfc ctx rest,
318 fn rest' => 318 fn rest' =>
319 (EField (e', c', {field = field', rest = rest'}), loc))))) 319 (EField (e', c', {field = field', rest = rest'}), loc)))))
320 | EWith (e1, c, e2, {field, rest}) =>
321 S.bind2 (mfe ctx e1,
322 fn e1' =>
323 S.bind2 (mfc ctx c,
324 fn c' =>
325 S.bind2 (mfe ctx e2,
326 fn e2' =>
327 S.bind2 (mfc ctx field,
328 fn field' =>
329 S.map2 (mfc ctx rest,
330 fn rest' =>
331 (EWith (e1', c', e2', {field = field', rest = rest'}),
332 loc))))))
320 | ECut (e, c, {field, rest}) => 333 | ECut (e, c, {field, rest}) =>
321 S.bind2 (mfe ctx e, 334 S.bind2 (mfe ctx e,
322 fn e' => 335 fn e' =>
323 S.bind2 (mfc ctx c, 336 S.bind2 (mfc ctx c,
324 fn c' => 337 fn c' =>