diff options
Diffstat (limited to 'src/laconic.sml')
-rw-r--r-- | src/laconic.sml | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/laconic.sml b/src/laconic.sml index eacc7ebc..02770a75 100644 --- a/src/laconic.sml +++ b/src/laconic.sml @@ -37,23 +37,33 @@ datatype kind' = withtype kind = kind' located +datatype explicitness = + Explicit + | Implicit + datatype con' = CAnnot of con * kind | TFun of con * con - | TCFun of bool * string option * kind * con + | TCFun of explicitness * string * kind * con | TRecord of con - | CFvar of string - | CBvar of int + | CVar of string | CApp of con * con - | CAbs of string * kind * con + | CAbs of explicitness * string * kind * con | CName of string - | CRecord of (string * con) list + | CRecord of (con * con) list | CConcat of con * con withtype con = con' located +datatype decl' = + DCon of string * kind option * con + +withtype decl = decl' located + +type file = decl list + end |