Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module implements the desugaring pass which creates binding groups from sets of mutually-recursive value declarations and mutually-recursive type declarations.
Synopsis
- createBindingGroups :: forall m. MonadError MultipleErrors m => ModuleName -> [Declaration] -> m [Declaration]
- createBindingGroupsModule :: MonadError MultipleErrors m => Module -> m Module
- collapseBindingGroups :: [Declaration] -> [Declaration]
- collapseBindingGroupsModule :: [Module] -> [Module]
Documentation
createBindingGroups :: forall m. MonadError MultipleErrors m => ModuleName -> [Declaration] -> m [Declaration] Source #
createBindingGroupsModule :: MonadError MultipleErrors m => Module -> m Module Source #
Replace all sets of mutually-recursive declarations in a module with binding groups
collapseBindingGroups :: [Declaration] -> [Declaration] Source #
Collapse all binding groups to individual declarations
collapseBindingGroupsModule :: [Module] -> [Module] Source #
Collapse all binding groups in a module to individual declarations