aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/explify.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-07-24 15:02:03 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-07-24 15:02:03 -0400
commit92af3391b64df0a2082006c39ed1335dd1bf7256 (patch)
tree88b7d3545d1b46e288c0f1f0d41a9be6abdb0ce1 /src/explify.sml
parent84f7c995c0ad553d3fc91d1b31f320fc9de58d79 (diff)
Start of datatype support
Diffstat (limited to 'src/explify.sml')
-rw-r--r--src/explify.sml4
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)