Safe Haskell | None |
---|---|
Language | Haskell2010 |
Provides the ability to sort modules based on module dependencies
Synopsis
- sortModules :: forall m a. MonadError MultipleErrors m => (a -> ModuleSignature) -> [a] -> m ([a], ModuleGraph)
- type ModuleGraph = [(ModuleName, [ModuleName])]
- data ModuleSignature = ModuleSignature {}
- moduleSignature :: Module -> ModuleSignature
Documentation
sortModules :: forall m a. MonadError MultipleErrors m => (a -> ModuleSignature) -> [a] -> m ([a], ModuleGraph) Source #
Sort a collection of modules based on module dependencies.
Reports an error if the module graph contains a cycle.
type ModuleGraph = [(ModuleName, [ModuleName])] Source #
A list of modules with their transitive dependencies
data ModuleSignature Source #
A module signature for sorting dependencies.