1 definition module check
3 from StdOverloaded import class toString
4 from Data.Either import :: Either
5 from ast import :: Function, :: Expression
7 :: Scheme = Forall [[Char]] Type
8 :: Type = TVar [Char] | TInt | TBool | (-->) infixr 9 Type Type
10 instance toString Scheme, Type
12 check :: [Function] -> Either [String] (Expression, [([Char], Scheme)])