aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/source.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-02-22 16:10:25 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-02-22 16:10:25 -0500
commit85cf99a95c910841f197ca911bb13d044456de7f (patch)
tree7f9fc4189681a0186e8ecbfcc84a0eec50d03be9 /src/source.sml
parentc60437564b5265a6f0735bd402abead87782d36a (diff)
Start of kind polymorphism, up to the point where demo/hello elaborates with updated Basis/Top
Diffstat (limited to 'src/source.sml')
-rw-r--r--src/source.sml9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/source.sml b/src/source.sml
index d70d0f5d..e9531245 100644
--- a/src/source.sml
+++ b/src/source.sml
@@ -38,6 +38,9 @@ datatype kind' =
| KTuple of kind list
| KWild
+ | KFun of string * kind
+ | KVar of string
+
withtype kind = kind' located
datatype explicitness =
@@ -56,6 +59,9 @@ datatype con' =
| CAbs of string * kind option * con
| CDisjoint of con * con * con
+ | CKAbs of string * con
+ | TKFun of string * con
+
| CName of string
| CRecord of (con * con) list
@@ -119,12 +125,13 @@ datatype exp' =
| ECAbs of explicitness * string * kind * exp
| EDisjoint of con * con * exp
+ | EKAbs of string * exp
+
| ERecord of (con * exp) list
| EField of exp * con
| EConcat of exp * exp
| ECut of exp * con
| ECutMulti of exp * con
- | EFold
| EWild