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