Mercurial > urweb
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 |