From 6cb3888614811abc30c6a00a1644e256d1d1c780 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sat, 16 May 2009 15:22:05 -0400 Subject: Mutual datatypes through Corify --- src/explify.sml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/explify.sml') diff --git a/src/explify.sml b/src/explify.sml index 145fccd2..d8bd6bff 100644 --- a/src/explify.sml +++ b/src/explify.sml @@ -137,10 +137,10 @@ fun explifySgi (sgi, loc) = case sgi of L.SgiConAbs (x, n, k) => SOME (L'.SgiConAbs (x, n, explifyKind k), loc) | L.SgiCon (x, n, k, c) => SOME (L'.SgiCon (x, n, explifyKind k, explifyCon c), loc) - (*| L.SgiDatatype (x, n, xs, xncs) => SOME (L'.SgiDatatype (x, n, xs, - map (fn (x, n, co) => - (x, n, Option.map explifyCon co)) xncs), loc)*) - | L.SgiDatatype _ => raise Fail "Explify SgiDatatype" + | L.SgiDatatype dts => SOME (L'.SgiDatatype (map (fn (x, n, xs, xncs) => + (x, n, xs, + map (fn (x, n, co) => + (x, n, Option.map explifyCon co)) xncs)) dts), loc) | L.SgiDatatypeImp (x, n, m1, ms, s, xs, xncs) => SOME (L'.SgiDatatypeImp (x, n, m1, ms, s, xs, map (fn (x, n, co) => (x, n, Option.map explifyCon co)) xncs), loc) @@ -164,10 +164,10 @@ and explifySgn (sgn, loc) = fun explifyDecl (d, loc : EM.span) = case d of L.DCon (x, n, k, c) => SOME (L'.DCon (x, n, explifyKind k, explifyCon c), loc) - (*| L.DDatatype (x, n, xs, xncs) => SOME (L'.DDatatype (x, n, xs, - map (fn (x, n, co) => - (x, n, Option.map explifyCon co)) xncs), loc)*) - | L.DDatatype _ => raise Fail "Explify DDatatype" + | L.DDatatype dts => SOME (L'.DDatatype (map (fn (x, n, xs, xncs) => + (x, n, xs, + map (fn (x, n, co) => + (x, n, Option.map explifyCon co)) xncs)) dts), loc) | L.DDatatypeImp (x, n, m1, ms, s, xs, xncs) => SOME (L'.DDatatypeImp (x, n, m1, ms, s, xs, map (fn (x, n, co) => -- cgit v1.2.3