BAM
[cc1516.git] / sem.dcl
1 definition module sem
2
3 from Data.Either import :: Either
4 from AST import :: AST, :: Pos, :: Type
5
6 :: SemError
7 = ParseError Pos String
8 | UnifyError Pos Type Type
9 | Error String
10 :: SemOutput :== Either [SemError] AST
11
12
13 instance toString SemError
14
15 sem :: AST -> SemOutput