comparison src/mono_util.sml @ 273:09c66a30ef32

Table declarations pushed to Cjr
author Adam Chlipala <adamc@hcoop.net>
date Tue, 02 Sep 2008 13:09:54 -0400
parents 42dfb0d61cf0
children c0e4ac23522d
comparison
equal deleted inserted replaced
272:4d80d6122df1 273:09c66a30ef32
340 end 340 end
341 | DExport (ek, s, n, ts) => 341 | DExport (ek, s, n, ts) =>
342 S.map2 (ListUtil.mapfold mft ts, 342 S.map2 (ListUtil.mapfold mft ts,
343 fn ts' => 343 fn ts' =>
344 (DExport (ek, s, n, ts'), loc)) 344 (DExport (ek, s, n, ts'), loc))
345 | DTable _ => S.return2 dAll
345 | DDatabase _ => S.return2 dAll 346 | DDatabase _ => S.return2 dAll
346 347
347 and mfvi ctx (x, n, t, e, s) = 348 and mfvi ctx (x, n, t, e, s) =
348 S.bind2 (mft t, 349 S.bind2 (mft t,
349 fn t' => 350 fn t' =>
403 end 404 end
404 | DVal (x, n, t, e, s) => bind (ctx, NamedE (x, n, t, SOME e, s)) 405 | DVal (x, n, t, e, s) => bind (ctx, NamedE (x, n, t, SOME e, s))
405 | DValRec vis => foldl (fn ((x, n, t, e, s), ctx) => 406 | DValRec vis => foldl (fn ((x, n, t, e, s), ctx) =>
406 bind (ctx, NamedE (x, n, t, NONE, s))) ctx vis 407 bind (ctx, NamedE (x, n, t, NONE, s))) ctx vis
407 | DExport _ => ctx 408 | DExport _ => ctx
409 | DTable _ => ctx
408 | DDatabase _ => ctx 410 | DDatabase _ => ctx
409 in 411 in
410 S.map2 (mff ctx' ds', 412 S.map2 (mff ctx' ds',
411 fn ds' => 413 fn ds' =>
412 d' :: ds') 414 d' :: ds')