comparison src/source.sml @ 623:588b9d16b00a

Start of kind polymorphism, up to the point where demo/hello elaborates with updated Basis/Top
author Adam Chlipala <adamc@hcoop.net>
date Sun, 22 Feb 2009 16:10:25 -0500
parents 8998114760c1
children 12b73f3c108e
comparison
equal deleted inserted replaced
622:d64533157f40 623:588b9d16b00a
36 | KRecord of kind 36 | KRecord of kind
37 | KUnit 37 | KUnit
38 | KTuple of kind list 38 | KTuple of kind list
39 | KWild 39 | KWild
40 40
41 | KFun of string * kind
42 | KVar of string
43
41 withtype kind = kind' located 44 withtype kind = kind' located
42 45
43 datatype explicitness = 46 datatype explicitness =
44 Explicit 47 Explicit
45 | Implicit 48 | Implicit
53 56
54 | CVar of string list * string 57 | CVar of string list * string
55 | CApp of con * con 58 | CApp of con * con
56 | CAbs of string * kind option * con 59 | CAbs of string * kind option * con
57 | CDisjoint of con * con * con 60 | CDisjoint of con * con * con
61
62 | CKAbs of string * con
63 | TKFun of string * con
58 64
59 | CName of string 65 | CName of string
60 66
61 | CRecord of (con * con) list 67 | CRecord of (con * con) list
62 | CConcat of con * con 68 | CConcat of con * con
117 | EAbs of string * con option * exp 123 | EAbs of string * con option * exp
118 | ECApp of exp * con 124 | ECApp of exp * con
119 | ECAbs of explicitness * string * kind * exp 125 | ECAbs of explicitness * string * kind * exp
120 | EDisjoint of con * con * exp 126 | EDisjoint of con * con * exp
121 127
128 | EKAbs of string * exp
129
122 | ERecord of (con * exp) list 130 | ERecord of (con * exp) list
123 | EField of exp * con 131 | EField of exp * con
124 | EConcat of exp * exp 132 | EConcat of exp * exp
125 | ECut of exp * con 133 | ECut of exp * con
126 | ECutMulti of exp * con 134 | ECutMulti of exp * con
127 | EFold
128 135
129 | EWild 136 | EWild
130 137
131 | ECase of exp * (pat * exp) list 138 | ECase of exp * (pat * exp) list
132 139