diff src/core.sml @ 192:9bbf4d383381

Parametrized datatypes through corify
author Adam Chlipala <adamc@hcoop.net>
date Fri, 08 Aug 2008 10:59:06 -0400
parents 8e9f97508f0d
children 766b5475477f
line wrap: on
line diff
--- a/src/core.sml	Fri Aug 08 10:28:32 2008 -0400
+++ b/src/core.sml	Fri Aug 08 10:59:06 2008 -0400
@@ -63,13 +63,14 @@
 
 datatype patCon =
          PConVar of int
-       | PConFfi of {mod : string, datatyp : string, con : string, arg : con option, kind : datatype_kind}
+       | PConFfi of {mod : string, datatyp : string, params : string list,
+                     con : string, arg : con option, kind : datatype_kind}
 
 datatype pat' =
          PWild
        | PVar of string * con
        | PPrim of Prim.t
-       | PCon of datatype_kind * patCon * pat option
+       | PCon of datatype_kind * patCon * con list * pat option
        | PRecord of (string * pat * con) list
 
 withtype pat = pat' located
@@ -78,7 +79,7 @@
          EPrim of Prim.t
        | ERel of int
        | ENamed of int
-       | ECon of datatype_kind * patCon * exp option
+       | ECon of datatype_kind * patCon * con list * exp option
        | EFfi of string * string
        | EFfiApp of string * string * exp list
        | EApp of exp * exp
@@ -105,7 +106,7 @@
 
 datatype decl' =
          DCon of string * int * kind * con
-       | DDatatype of string * int * (string * int * con option) list
+       | DDatatype of string * int * string list * (string * int * con option) list
        | DVal of string * int * con * exp * string
        | DValRec of (string * int * con * exp * string) list
        | DExport of export_kind * int