Safe Haskell | None |
---|---|
Language | Haskell98 |
This module implements the type checker
- typesOf :: (Functor m, Applicative m, MonadSupply m, MonadState CheckState m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => ModuleName -> [(Ident, Expr)] -> m [(Ident, (Expr, Type))]
Documentation
typesOf :: (Functor m, Applicative m, MonadSupply m, MonadState CheckState m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => ModuleName -> [(Ident, Expr)] -> m [(Ident, (Expr, Type))] Source
Infer the types of multiple mutually-recursive values, and return elaborated values including type class dictionaries and type annotations.