diff 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
line wrap: on
line diff
--- a/src/source.sml	Thu Jun 12 17:41:32 2008 -0400
+++ b/src/source.sml	Tue Jun 17 16:38:54 2008 -0400
@@ -49,7 +49,7 @@
        | 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,21 +62,6 @@
 
 withtype con = con' located
 
-datatype exp' =
-         EAnnot of exp * con
-
-       | EPrim of Prim.t
-       | EVar of string
-       | EApp of exp * exp
-       | EAbs of string * con option * exp
-       | ECApp of exp * con
-       | ECAbs of explicitness * string * kind * exp
-
-       | ERecord of (con * exp) list
-       | EField of exp * con
-
-withtype exp = exp' located
-
 datatype sgn_item' =
          SgiConAbs of string * kind
        | SgiCon of string * kind option * con
@@ -90,6 +75,21 @@
 withtype sgn_item = sgn_item' located
 and sgn = sgn' located
 
+datatype exp' =
+         EAnnot of exp * con
+
+       | EPrim of Prim.t
+       | EVar of string list * string
+       | EApp of exp * exp
+       | EAbs of string * con option * exp
+       | ECApp of exp * con
+       | ECAbs of explicitness * string * kind * exp
+
+       | ERecord of (con * exp) list
+       | EField of exp * con
+
+withtype exp = exp' located
+
 datatype decl' =
          DCon of string * kind option * con
        | DVal of string * con option * exp
@@ -99,6 +99,7 @@
      and str' =
          StrConst of decl list
        | StrVar of string
+       | StrProj of str * string
 
 withtype decl = decl' located
      and str = str' located