aboutsummaryrefslogtreecommitdiff
path: root/snug-clean/src/Snug/Compile/Typing.dcl
diff options
context:
space:
mode:
authorCamil Staps2023-11-27 19:00:20 +0100
committerCamil Staps2023-11-27 19:00:20 +0100
commit5a3007ea91a3ee57a4fc3e34c0edd59a90b525c3 (patch)
tree3addc1233eb1e80657fa36b6599e3ebe3d097d88 /snug-clean/src/Snug/Compile/Typing.dcl
parentUpdate to base 2.0 (diff)
WIP on code generation for case expressions
Diffstat (limited to 'snug-clean/src/Snug/Compile/Typing.dcl')
-rw-r--r--snug-clean/src/Snug/Compile/Typing.dcl13
1 files changed, 13 insertions, 0 deletions
diff --git a/snug-clean/src/Snug/Compile/Typing.dcl b/snug-clean/src/Snug/Compile/Typing.dcl
new file mode 100644
index 0000000..b395587
--- /dev/null
+++ b/snug-clean/src/Snug/Compile/Typing.dcl
@@ -0,0 +1,13 @@
+definition module Snug.Compile.Typing
+
+from Control.Monad.State import :: StateT
+from Data.Error import :: MaybeError
+from Data.Map import :: Map
+
+from Snug.Compile import :: CompileM, :: CompileState, :: LocalLocation,
+ :: Locals
+from Snug.Syntax import :: Expression, :: SymbolIdent, :: Type
+
+class type a :: !Locals !a -> CompileM Type
+
+instance type Expression