diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-06-17 16:38:54 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-06-17 16:38:54 -0400 |
commit | b9406323848c150f5a8562ad206916c446529d65 (patch) | |
tree | 5464b011b61ca366be29dabd74275245b60659b9 /src/source.sml | |
parent | 4bb0bbc1920b5474619cb00e278590e029cdb12a (diff) |
Elaborating module projection
Diffstat (limited to 'src/source.sml')
-rw-r--r-- | src/source.sml | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/source.sml b/src/source.sml index 6fe07255..a7ff04c6 100644 --- a/src/source.sml +++ b/src/source.sml @@ -49,7 +49,7 @@ datatype con' = | TCFun of explicitness * string * kind * con | TRecord of con - | CVar of string + | CVar of string list * string | CApp of con * con | CAbs of string * kind * con @@ -62,11 +62,24 @@ datatype con' = withtype con = con' located +datatype sgn_item' = + SgiConAbs of string * kind + | SgiCon of string * kind option * con + | SgiVal of string * con + | SgiStr of string * sgn + +and sgn' = + SgnConst of sgn_item list + | SgnVar of string + +withtype sgn_item = sgn_item' located +and sgn = sgn' located + datatype exp' = EAnnot of exp * con | EPrim of Prim.t - | EVar of string + | EVar of string list * string | EApp of exp * exp | EAbs of string * con option * exp | ECApp of exp * con @@ -77,19 +90,6 @@ datatype exp' = withtype exp = exp' located -datatype sgn_item' = - SgiConAbs of string * kind - | SgiCon of string * kind option * con - | SgiVal of string * con - | SgiStr of string * sgn - -and sgn' = - SgnConst of sgn_item list - | SgnVar of string - -withtype sgn_item = sgn_item' located -and sgn = sgn' located - datatype decl' = DCon of string * kind option * con | DVal of string * con option * exp @@ -99,6 +99,7 @@ datatype decl' = and str' = StrConst of decl list | StrVar of string + | StrProj of str * string withtype decl = decl' located and str = str' located |