diff options
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 |