comparison src/source.sml @ 34:44b5405e74c7

Elaborating module projection
author Adam Chlipala <adamc@hcoop.net>
date Tue, 17 Jun 2008 16:38:54 -0400
parents e6ccf961d8a3
children e3d3c2791105
comparison
equal deleted inserted replaced
33:535c324f0b35 34:44b5405e74c7
47 47
48 | TFun of con * con 48 | TFun of con * con
49 | TCFun of explicitness * string * kind * con 49 | TCFun of explicitness * string * kind * con
50 | TRecord of con 50 | TRecord of con
51 51
52 | CVar of string 52 | CVar of string list * string
53 | CApp of con * con 53 | CApp of con * con
54 | CAbs of string * kind * con 54 | CAbs of string * kind * con
55 55
56 | CName of string 56 | CName of string
57 57
59 | CConcat of con * con 59 | CConcat of con * con
60 60
61 | CWild of kind 61 | CWild of kind
62 62
63 withtype con = con' located 63 withtype con = con' located
64
65 datatype exp' =
66 EAnnot of exp * con
67
68 | EPrim of Prim.t
69 | EVar of string
70 | EApp of exp * exp
71 | EAbs of string * con option * exp
72 | ECApp of exp * con
73 | ECAbs of explicitness * string * kind * exp
74
75 | ERecord of (con * exp) list
76 | EField of exp * con
77
78 withtype exp = exp' located
79 64
80 datatype sgn_item' = 65 datatype sgn_item' =
81 SgiConAbs of string * kind 66 SgiConAbs of string * kind
82 | SgiCon of string * kind option * con 67 | SgiCon of string * kind option * con
83 | SgiVal of string * con 68 | SgiVal of string * con
88 | SgnVar of string 73 | SgnVar of string
89 74
90 withtype sgn_item = sgn_item' located 75 withtype sgn_item = sgn_item' located
91 and sgn = sgn' located 76 and sgn = sgn' located
92 77
78 datatype exp' =
79 EAnnot of exp * con
80
81 | EPrim of Prim.t
82 | EVar of string list * string
83 | EApp of exp * exp
84 | EAbs of string * con option * exp
85 | ECApp of exp * con
86 | ECAbs of explicitness * string * kind * exp
87
88 | ERecord of (con * exp) list
89 | EField of exp * con
90
91 withtype exp = exp' located
92
93 datatype decl' = 93 datatype decl' =
94 DCon of string * kind option * con 94 DCon of string * kind option * con
95 | DVal of string * con option * exp 95 | DVal of string * con option * exp
96 | DSgn of string * sgn 96 | DSgn of string * sgn
97 | DStr of string * sgn option * str 97 | DStr of string * sgn option * str
98 98
99 and str' = 99 and str' =
100 StrConst of decl list 100 StrConst of decl list
101 | StrVar of string 101 | StrVar of string
102 | StrProj of str * string
102 103
103 withtype decl = decl' located 104 withtype decl = decl' located
104 and str = str' located 105 and str = str' located
105 106
106 type file = decl list 107 type file = decl list