diff options
Diffstat (limited to 'snug-clean/src/Snug/Compile.dcl')
-rw-r--r-- | snug-clean/src/Snug/Compile.dcl | 12 |
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 |