diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-02-22 16:32:56 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-02-22 16:32:56 -0500 |
commit | 85c5fc291ece27b13a28a3ec50b67ff437a18834 (patch) | |
tree | 9720fe837fa35bd4404d0013f77da0e0a51584ae /src/expl.sml | |
parent | 85cf99a95c910841f197ca911bb13d044456de7f (diff) |
Kind polymorphism through Explify
Diffstat (limited to 'src/expl.sml')
-rw-r--r-- | src/expl.sml | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/expl.sml b/src/expl.sml index 0101dd1f..d7138620 100644 --- a/src/expl.sml +++ b/src/expl.sml @@ -37,6 +37,9 @@ datatype kind' = | KTuple of kind list | KRecord of kind + | KRel of int + | KFun of string * kind + withtype kind = kind' located datatype con' = @@ -50,6 +53,10 @@ datatype con' = | CApp of con * con | CAbs of string * kind * con + | CKAbs of string * con + | CKApp of con * kind + | TKFun of string * con + | CName of string | CRecord of kind * (con * con) list @@ -88,6 +95,9 @@ datatype exp' = | ECApp of exp * con | ECAbs of string * kind * exp + | EKAbs of string * exp + | EKApp of exp * kind + | ERecord of (con * exp * con) list | EField of exp * con * { field : con, rest : con } | EConcat of exp * con * exp * con |