3 import qualified Data.Map as Map
4 from Data.Either import :: Either
5 from AST import :: AST, :: Pos, :: Type, :: FieldSelector, :: Op2
6 from StdOverloaded import class toString
9 = ParseError Pos String
10 | UnifyError Pos Type Type
11 | FieldSelectorError Pos Type FieldSelector
12 | OperatorError Pos Op2 Type
13 | UndeclaredVariableError Pos String
16 :: SemOutput :== Either [SemError] (AST, Gamma)
18 instance toString SemError
19 instance toString Gamma
21 sem :: AST -> SemOutput