summaryrefslogtreecommitdiff
path: root/src/source.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-06-17 16:38:54 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-06-17 16:38:54 -0400
commitb9406323848c150f5a8562ad206916c446529d65 (patch)
tree5464b011b61ca366be29dabd74275245b60659b9 /src/source.sml
parent4bb0bbc1920b5474619cb00e278590e029cdb12a (diff)
Elaborating module projection
Diffstat (limited to 'src/source.sml')
-rw-r--r--src/source.sml31
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