diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-02-22 17:17:01 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-02-22 17:17:01 -0500 |
commit | 1f7d0c20ae30c11cdc64a2c2fc90f15cdf02c34b (patch) | |
tree | fff01431ea7434be021ffd12b86d70292496434c /src/core.sml | |
parent | d2b6c2e097770b5904c254c686adfad7c4ec7e0c (diff) |
demo/hello compiles with kind polymorphism
Diffstat (limited to 'src/core.sml')
-rw-r--r-- | src/core.sml | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core.sml b/src/core.sml index a28d93dd..b384c576 100644 --- a/src/core.sml +++ b/src/core.sml @@ -37,6 +37,9 @@ datatype kind' = | KUnit | KTuple of kind list + | 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 @@ -91,6 +98,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 |