aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core.sml
diff options
context:
space:
mode:
Diffstat (limited to 'src/core.sml')
-rw-r--r--src/core.sml10
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