Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Dependencies and Usage of a module
Synopsis
- data Dependencies = Deps {
- dep_mods :: [ModuleNameWithIsBoot]
- dep_pkgs :: [(UnitId, Bool)]
- dep_orphs :: [Module]
- dep_finsts :: [Module]
- dep_plgins :: [ModuleName]
- data Usage
- = UsagePackageModule { }
- | UsageHomeModule { }
- | UsageFile { }
- | UsageMergedRequirement { }
- noDependencies :: Dependencies
Documentation
data Dependencies Source #
Dependency information about ALL modules and packages below this one in the import hierarchy.
Invariant: the dependencies of a module M
never includes M
.
Invariant: none of the lists contain duplicates.
Deps | |
|
Instances
Binary Dependencies Source # | |
Defined in GHC.Unit.Module.Deps put_ :: BinHandle -> Dependencies -> IO () Source # put :: BinHandle -> Dependencies -> IO (Bin Dependencies) Source # | |
Eq Dependencies Source # | |
Defined in GHC.Unit.Module.Deps (==) :: Dependencies -> Dependencies -> Bool # (/=) :: Dependencies -> Dependencies -> Bool # |
Records modules for which changes may force recompilation of this module See wiki: https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/recompilation-avoidance
This differs from Dependencies. A module X may be in the dep_mods of this module (via an import chain) but if we don't use anything from X it won't appear in our Usage
UsagePackageModule | Module from another package |
| |
UsageHomeModule | Module from the current package |
| |
UsageFile | |
| |
UsageMergedRequirement | A requirement which was merged into this one. |
|