From 5a3007ea91a3ee57a4fc3e34c0edd59a90b525c3 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Mon, 27 Nov 2023 19:00:20 +0100 Subject: WIP on code generation for case expressions --- snug-clean/src/Snug/Compile/Typing.icl | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 snug-clean/src/Snug/Compile/Typing.icl (limited to 'snug-clean/src/Snug/Compile/Typing.icl') diff --git a/snug-clean/src/Snug/Compile/Typing.icl b/snug-clean/src/Snug/Compile/Typing.icl new file mode 100644 index 0000000..5587da7 --- /dev/null +++ b/snug-clean/src/Snug/Compile/Typing.icl @@ -0,0 +1,14 @@ +implementation module Snug.Compile.Typing + +import Data.Error + +import Snug.Syntax + +instance type Expression +where + type locals e = case e of + BasicValue bv -> type locals bv + Symbol sym -> // TODO + Constructor cons -> // TODO + Case _ alts -> checkSameTypes "case alternatives" [type locals e \\ CaseAlternative _ e <- alts] + ExpApp e1 e2 -> // TODO -- cgit v1.2.3