From 85c5fc291ece27b13a28a3ec50b67ff437a18834 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sun, 22 Feb 2009 16:32:56 -0500 Subject: Kind polymorphism through Explify --- src/expl.sml | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/expl.sml') 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 -- cgit v1.2.3