comparison src/expl.sml @ 191:aa54250f58ac

Parametrized datatypes through explify
author Adam Chlipala <adamc@hcoop.net>
date Fri, 08 Aug 2008 10:28:32 -0400
parents 8e9f97508f0d
children 0343557355fc
comparison
equal deleted inserted replaced
190:3eb53c957d10 191:aa54250f58ac
67 67
68 datatype pat' = 68 datatype pat' =
69 PWild 69 PWild
70 | PVar of string * con 70 | PVar of string * con
71 | PPrim of Prim.t 71 | PPrim of Prim.t
72 | PCon of datatype_kind * patCon * pat option 72 | PCon of datatype_kind * patCon * con list * pat option
73 | PRecord of (string * pat * con) list 73 | PRecord of (string * pat * con) list
74 74
75 withtype pat = pat' located 75 withtype pat = pat' located
76 76
77 datatype exp' = 77 datatype exp' =
96 withtype exp = exp' located 96 withtype exp = exp' located
97 97
98 datatype sgn_item' = 98 datatype sgn_item' =
99 SgiConAbs of string * int * kind 99 SgiConAbs of string * int * kind
100 | SgiCon of string * int * kind * con 100 | SgiCon of string * int * kind * con
101 | SgiDatatype of string * int * (string * int * con option) list 101 | SgiDatatype of string * int * string list * (string * int * con option) list
102 | SgiDatatypeImp of string * int * int * string list * string * (string * int * con option) list 102 | SgiDatatypeImp of string * int * int * string list * string * string list * (string * int * con option) list
103 | SgiVal of string * int * con 103 | SgiVal of string * int * con
104 | SgiSgn of string * int * sgn 104 | SgiSgn of string * int * sgn
105 | SgiStr of string * int * sgn 105 | SgiStr of string * int * sgn
106 106
107 and sgn' = 107 and sgn' =
114 withtype sgn_item = sgn_item' located 114 withtype sgn_item = sgn_item' located
115 and sgn = sgn' located 115 and sgn = sgn' located
116 116
117 datatype decl' = 117 datatype decl' =
118 DCon of string * int * kind * con 118 DCon of string * int * kind * con
119 | DDatatype of string * int * (string * int * con option) list 119 | DDatatype of string * int * string list * (string * int * con option) list
120 | DDatatypeImp of string * int * int * string list * string * (string * int * con option) list 120 | DDatatypeImp of string * int * int * string list * string * string list * (string * int * con option) list
121 | DVal of string * int * con * exp 121 | DVal of string * int * con * exp
122 | DValRec of (string * int * con * exp) list 122 | DValRec of (string * int * con * exp) list
123 | DSgn of string * int * sgn 123 | DSgn of string * int * sgn
124 | DStr of string * int * sgn * str 124 | DStr of string * int * sgn * str
125 | DFfiStr of string * int * sgn 125 | DFfiStr of string * int * sgn