Copyright | (c) 2011 Björn Peemöller (bjp@informatik.uni-kiel.de) |
---|---|
License | BSD-3-clause |
Maintainer | bjp@informatik.uni-kiel.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
This module subsumes the different transformations of the source code.
Synopsis
- qual :: CompEnv (Module a) -> CompEnv (Module a)
- derive :: CompEnv (Module PredType) -> CompEnv (Module PredType)
- desugar :: CompEnv (Module PredType) -> CompEnv (Module PredType)
- insertDicts :: CompEnv (Module PredType) -> CompEnv (Module Type)
- removeNewtypes :: CompEnv (Module Type) -> CompEnv (Module Type)
- simplify :: CompEnv (Module Type) -> CompEnv (Module Type)
- lift :: CompEnv (Module Type) -> CompEnv (Module Type)
- ilTrans :: CompEnv (Module Type) -> CompEnv Module
- transType :: Type -> Type
- completeCase :: CompEnv Module -> CompEnv Module
Documentation
qual :: CompEnv (Module a) -> CompEnv (Module a) Source #
Fully qualify used constructors and functions.
derive :: CompEnv (Module PredType) -> CompEnv (Module PredType) Source #
Automatically derive instances.
desugar :: CompEnv (Module PredType) -> CompEnv (Module PredType) Source #
Remove any syntactic sugar, changes the value environment.
insertDicts :: CompEnv (Module PredType) -> CompEnv (Module Type) Source #
Insert dictionaries, changes the type constructor and value environments.
removeNewtypes :: CompEnv (Module Type) -> CompEnv (Module Type) Source #
Remove newtype constructors.
simplify :: CompEnv (Module Type) -> CompEnv (Module Type) Source #
Simplify the source code, changes the value environment.
lift :: CompEnv (Module Type) -> CompEnv (Module Type) Source #
Lift local declarations, changes the value environment.