comparison src/elab_util.sml @ 29:537db4ee89f4

Translation to Cjr
author Adam Chlipala <adamc@hcoop.net>
date Tue, 10 Jun 2008 18:28:43 -0400
parents 4ab19c19665f
children 44b5405e74c7
comparison
equal deleted inserted replaced
28:104d43266b33 29:537db4ee89f4
235 S.map2 (mfe (bind (ctx, RelC (x, k))) e, 235 S.map2 (mfe (bind (ctx, RelC (x, k))) e,
236 fn e' => 236 fn e' =>
237 (ECAbs (expl, x, k', e'), loc))) 237 (ECAbs (expl, x, k', e'), loc)))
238 238
239 | ERecord xes => 239 | ERecord xes =>
240 S.map2 (ListUtil.mapfold (fn (x, e) => 240 S.map2 (ListUtil.mapfold (fn (x, e, t) =>
241 S.bind2 (mfc ctx x, 241 S.bind2 (mfc ctx x,
242 fn x' => 242 fn x' =>
243 S.map2 (mfe ctx e, 243 S.bind2 (mfe ctx e,
244 fn e' => 244 fn e' =>
245 (x', e')))) 245 S.map2 (mfc ctx t,
246 fn t' =>
247 (x', e', t')))))
246 xes, 248 xes,
247 fn xes' => 249 fn xes' =>
248 (ERecord xes', loc)) 250 (ERecord xes', loc))
249 | EField (e, c, {field, rest}) => 251 | EField (e, c, {field, rest}) =>
250 S.bind2 (mfe ctx e, 252 S.bind2 (mfe ctx e,