diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-07-24 15:02:03 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-07-24 15:02:03 -0400 |
commit | 92af3391b64df0a2082006c39ed1335dd1bf7256 (patch) | |
tree | 88b7d3545d1b46e288c0f1f0d41a9be6abdb0ce1 /src/explify.sml | |
parent | 84f7c995c0ad553d3fc91d1b31f320fc9de58d79 (diff) |
Start of datatype support
Diffstat (limited to 'src/explify.sml')
-rw-r--r-- | src/explify.sml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/explify.sml b/src/explify.sml index 2013f20a..f179ce36 100644 --- a/src/explify.sml +++ b/src/explify.sml @@ -95,6 +95,8 @@ 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 _ => raise Fail "Explify SgiDatatype" + | L.SgiDatatypeImp _ => raise Fail "Explify SgiDatatypeImp" | L.SgiVal (x, n, c) => SOME (L'.SgiVal (x, n, explifyCon c), loc) | L.SgiStr (x, n, sgn) => SOME (L'.SgiStr (x, n, explifySgn sgn), loc) | L.SgiSgn (x, n, sgn) => SOME (L'.SgiSgn (x, n, explifySgn sgn), loc) @@ -112,6 +114,8 @@ 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 _ => raise Fail "Explify DDatatype" + | L.DDatatypeImp _ => raise Fail "Explify DDatatypeImp" | L.DVal (x, n, t, e) => SOME (L'.DVal (x, n, explifyCon t, explifyExp e), loc) | L.DValRec vis => SOME (L'.DValRec (map (fn (x, n, t, e) => (x, n, explifyCon t, explifyExp e)) vis), loc) |