| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Distribution.Types.ModuleRenaming
Synopsis
Documentation
data ModuleRenaming Source #
Renaming applied to the modules provided by a package.
The boolean indicates whether or not to also include all of the
original names of modules. Thus, ModuleRenaming False [] is
"don't expose any modules, and ModuleRenaming True [(Data.Bool, Bool)]
is, "expose all modules, but also expose Data.Bool as Bool".
If a renaming is omitted you get the DefaultRenaming.
(NB: This is a list not a map so that we can preserve order.)
Constructors
| ModuleRenaming [(ModuleName, ModuleName)] | A module renaming/thinning; e.g., |
| DefaultRenaming | The default renaming, bringing all exported modules into scope. |
| HidingRenaming [ModuleName] | Hiding renaming, e.g., |
Instances
interpModuleRenaming :: ModuleRenaming -> ModuleName -> Maybe ModuleName Source #
Interpret a ModuleRenaming as a partial map from ModuleName
to ModuleName. For efficiency, you should partially apply it
with ModuleRenaming and then reuse it.
defaultRenaming :: ModuleRenaming Source #
The default renaming, if something is specified in build-depends
only.
isDefaultRenaming :: ModuleRenaming -> Bool Source #
Tests if its the default renaming; we can use a more compact syntax
in IncludeRenaming in this case.