aboutsummaryrefslogtreecommitdiff
path: root/snug-clean/src/Snug/Compile.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'snug-clean/src/Snug/Compile.dcl')
-rw-r--r--snug-clean/src/Snug/Compile.dcl12
1 files changed, 7 insertions, 5 deletions
diff --git a/snug-clean/src/Snug/Compile.dcl b/snug-clean/src/Snug/Compile.dcl
index ef223b8..dd8bef1 100644
--- a/snug-clean/src/Snug/Compile.dcl
+++ b/snug-clean/src/Snug/Compile.dcl
@@ -29,13 +29,15 @@ from Snug.Syntax import :: ConstructorDef, :: ConstructorIdent, :: Definition,
:: CompileState
-:: Locals :== Map SymbolIdent LocalLocation
+:: Locals :== Map SymbolIdent Symbol
-:: Local =
- { location :: !LocalLocation
- , type :: !Type
- }
+:: Symbol
+ = LocalSymbol !LocalLocation
+ | FunctionSymbol !FunctionInfo
+ | ConstructorSymbol !ConstructorDef
:: LocalLocation
compile :: !Namespace ![Definition] -> MaybeError String [Line]
+
+lookupConstructorM :: !ConstructorIdent -> CompileM ConstructorDef