Safe Haskell | None |
---|---|
Language | Haskell2010 |
Distribution.Types.ModuleRenaming
Synopsis
Documentation
data ModuleRenaming #
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 #
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 #
The default renaming, if something is specified in build-depends
only.
isDefaultRenaming :: ModuleRenaming -> Bool #
Tests if its the default renaming; we can use a more compact syntax
in IncludeRenaming
in this case.