summaryrefslogtreecommitdiff
path: root/src/elab.sml
diff options
context:
space:
mode:
Diffstat (limited to 'src/elab.sml')
-rw-r--r--src/elab.sml24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/elab.sml b/src/elab.sml
index ac1b4224..14664c0f 100644
--- a/src/elab.sml
+++ b/src/elab.sml
@@ -80,12 +80,34 @@ datatype exp' =
withtype exp = exp' located
+datatype sgn_item' =
+ SgiConAbs of string * int * kind
+ | SgiCon of string * int * kind * con
+ | SgiVal of string * int * con
+ | SgiStr of string * int * sgn
+
+and sgn' =
+ SgnConst of sgn_item list
+ | SgnVar of int
+ | SgnError
+
+withtype sgn_item = sgn_item' located
+and sgn = sgn' located
+
datatype decl' =
DCon of string * int * kind * con
| DVal of string * int * con * exp
+ | DSgn of string * int * sgn
+ | DStr of string * int * sgn * str
-withtype decl = decl' located
+ and str' =
+ StrConst of decl list
+ | StrVar of int
+ | StrError
+withtype decl = decl' located
+ and str = str' located
+
type file = decl list
end