aboutsummaryrefslogtreecommitdiff
path: root/snug-clean/src/Snug/Compile/Typing.icl
blob: 5587da7286a7e6288c5e9d86767127c7ef5d6671 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
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