diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-08-08 10:59:06 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-08-08 10:59:06 -0400 |
commit | e2a9136ed7123cb8e5cac4a20cbce5467643ecd6 (patch) | |
tree | cf96ee150816d9120f27370837c836e5641bbdd9 /src/core.sml | |
parent | baf22271ef6e646c97ddfa1e4193a8857816c67d (diff) |
Parametrized datatypes through corify
Diffstat (limited to 'src/core.sml')
-rw-r--r-- | src/core.sml | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core.sml b/src/core.sml index 3f56b49c..ce14ac04 100644 --- a/src/core.sml +++ b/src/core.sml @@ -63,13 +63,14 @@ datatype datatype_kind = datatype Elab.datatype_kind 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 @@ datatype exp' = 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 export_kind = 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 |