Safe Haskell | None |
---|---|
Language | Haskell2010 |
The top-level type checker, which checks all declarations in a module.
- typeCheckModule :: forall m. (MonadSupply m, MonadState CheckState m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => Module -> m Module
- checkNewtype :: forall m. MonadError MultipleErrors m => ProperName TypeName -> [(ProperName ConstructorName, [Type])] -> m ()
Documentation
typeCheckModule :: forall m. (MonadSupply m, MonadState CheckState m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => Module -> m Module Source #
Type check an entire module and ensure all types and classes defined within the module that are required by exported members are also exported.
checkNewtype :: forall m. MonadError MultipleErrors m => ProperName TypeName -> [(ProperName ConstructorName, [Type])] -> m () Source #