Safe Haskell | None |
---|---|
Language | Haskell98 |
This module implements the desugaring pass which creates binding groups from sets of mutually-recursive value declarations and mutually-recursive type declarations.
- 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