GHC.Unit.Module.Env

ghc-lib-parser-9.10.1.20250103: The GHC API, decoupled from GHC versions

Safe Haskell | Ignore
Language | GHC2021

GHC.Unit.Module.Env

Contents

- Module mappings
- ModuleName mappings
- Sets of Modules
- InstalledModuleEnv

Description

Module environment

Synopsis

- data ModuleEnv elt
- elemModuleEnv :: Module -> ModuleEnv a -> Bool
- extendModuleEnv :: ModuleEnv a -> Module -> a -> ModuleEnv a
- extendModuleEnvList :: ModuleEnv a -> [(Module, a)] -> ModuleEnv a
- extendModuleEnvList_C :: (a -> a -> a) -> ModuleEnv a -> [(Module, a)] -> ModuleEnv a
- plusModuleEnv_C :: (a -> a -> a) -> ModuleEnv a -> ModuleEnv a -> ModuleEnv a
- delModuleEnvList :: ModuleEnv a -> [Module] -> ModuleEnv a
- delModuleEnv :: ModuleEnv a -> Module -> ModuleEnv a
- plusModuleEnv :: ModuleEnv a -> ModuleEnv a -> ModuleEnv a
- lookupModuleEnv :: ModuleEnv a -> Module -> Maybe a
- lookupWithDefaultModuleEnv :: ModuleEnv a -> a -> Module -> a
- mapModuleEnv :: (a -> b) -> ModuleEnv a -> ModuleEnv b
- mkModuleEnv :: [(Module, a)] -> ModuleEnv a
- emptyModuleEnv :: ModuleEnv a
- alterModuleEnv :: (Maybe a -> Maybe a) -> Module -> ModuleEnv a -> ModuleEnv a
- partitionModuleEnv :: (a -> Bool) -> ModuleEnv a -> (ModuleEnv a, ModuleEnv a)
- moduleEnvKeys :: ModuleEnv a -> [Module]
- moduleEnvElts :: ModuleEnv a -> [a]
- moduleEnvToList :: ModuleEnv a -> [(Module, a)]
- unitModuleEnv :: Module -> a -> ModuleEnv a
- isEmptyModuleEnv :: ModuleEnv a -> Bool
- extendModuleEnvWith :: (a -> a -> a) -> ModuleEnv a -> Module -> a -> ModuleEnv a
- filterModuleEnv :: (Module -> a -> Bool) -> ModuleEnv a -> ModuleEnv a
- mapMaybeModuleEnv :: (Module -> a -> Maybe b) -> ModuleEnv a -> ModuleEnv b
- type ModuleNameEnv elt = UniqFM ModuleName elt
- type DModuleNameEnv elt = UniqDFM ModuleName elt
- type ModuleSet = Set NDModule
- emptyModuleSet :: ModuleSet
- mkModuleSet :: [Module] -> ModuleSet
- moduleSetElts :: ModuleSet -> [Module]
- extendModuleSet :: ModuleSet -> Module -> ModuleSet
- extendModuleSetList :: ModuleSet -> [Module] -> ModuleSet
- delModuleSet :: ModuleSet -> Module -> ModuleSet
- elemModuleSet :: Module -> ModuleSet -> Bool
- intersectModuleSet :: ModuleSet -> ModuleSet -> ModuleSet
- minusModuleSet :: ModuleSet -> ModuleSet -> ModuleSet
- unionModuleSet :: ModuleSet -> ModuleSet -> ModuleSet
- unitModuleSet :: Module -> ModuleSet
- isEmptyModuleSet :: ModuleSet -> Bool
- unionManyModuleSets :: [ModuleSet] -> ModuleSet
- data InstalledModuleEnv elt
- emptyInstalledModuleEnv :: InstalledModuleEnv a
- lookupInstalledModuleEnv :: InstalledModuleEnv a -> InstalledModule -> Maybe a
- extendInstalledModuleEnv :: InstalledModuleEnv a -> InstalledModule -> a -> InstalledModuleEnv a
- filterInstalledModuleEnv :: (InstalledModule -> a -> Bool) -> InstalledModuleEnv a -> InstalledModuleEnv a
- delInstalledModuleEnv :: InstalledModuleEnv a -> InstalledModule -> InstalledModuleEnv a
- mergeInstalledModuleEnv :: (elta -> eltb -> Maybe eltc) -> (InstalledModuleEnv elta -> InstalledModuleEnv eltc) -> (InstalledModuleEnv eltb -> InstalledModuleEnv eltc) -> InstalledModuleEnv elta -> InstalledModuleEnv eltb -> InstalledModuleEnv eltc
- plusInstalledModuleEnv :: (elt -> elt -> elt) -> InstalledModuleEnv elt -> InstalledModuleEnv elt -> InstalledModuleEnv elt
- installedModuleEnvElts :: InstalledModuleEnv a -> [(InstalledModule, a)]

# Module mappings

data ModuleEnv elt #

A map keyed off of `Module`s

#### Instances

Instances details

Outputable a => Outputable (ModuleEnv a) # |
Instance details Defined in GHC.Unit.Module.Env Methods ppr :: ModuleEnv a -> SDoc #

elemModuleEnv :: Module -> ModuleEnv a -> Bool #

extendModuleEnv :: ModuleEnv a -> Module -> a -> ModuleEnv a #

extendModuleEnvList :: ModuleEnv a -> [(Module, a)] -> ModuleEnv a #

extendModuleEnvList_C :: (a -> a -> a) -> ModuleEnv a -> [(Module, a)] -> ModuleEnv a #

plusModuleEnv_C :: (a -> a -> a) -> ModuleEnv a -> ModuleEnv a -> ModuleEnv a #

delModuleEnvList :: ModuleEnv a -> [Module] -> ModuleEnv a #

delModuleEnv :: ModuleEnv a -> Module -> ModuleEnv a #

plusModuleEnv :: ModuleEnv a -> ModuleEnv a -> ModuleEnv a #

lookupModuleEnv :: ModuleEnv a -> Module -> Maybe a #

lookupWithDefaultModuleEnv :: ModuleEnv a -> a -> Module -> a #

mapModuleEnv :: (a -> b) -> ModuleEnv a -> ModuleEnv b #

mkModuleEnv :: [(Module, a)] -> ModuleEnv a #

emptyModuleEnv :: ModuleEnv a #

alterModuleEnv :: (Maybe a -> Maybe a) -> Module -> ModuleEnv a -> ModuleEnv a #

partitionModuleEnv :: (a -> Bool) -> ModuleEnv a -> (ModuleEnv a, ModuleEnv a) #

moduleEnvKeys :: ModuleEnv a -> [Module] #

moduleEnvElts :: ModuleEnv a -> [a] #

moduleEnvToList :: ModuleEnv a -> [(Module, a)] #

unitModuleEnv :: Module -> a -> ModuleEnv a #

isEmptyModuleEnv :: ModuleEnv a -> Bool #

extendModuleEnvWith :: (a -> a -> a) -> ModuleEnv a -> Module -> a -> ModuleEnv a #

filterModuleEnv :: (Module -> a -> Bool) -> ModuleEnv a -> ModuleEnv a #

mapMaybeModuleEnv :: (Module -> a -> Maybe b) -> ModuleEnv a -> ModuleEnv b #

# ModuleName mappings

type ModuleNameEnv elt = UniqFM ModuleName elt #

A map keyed off of `ModuleName`s (actually, their `Unique`s)

type DModuleNameEnv elt = UniqDFM ModuleName elt #

A map keyed off of `ModuleName`s (actually, their `Unique`s) Has deterministic folds and can be deterministically converted to a list

# Sets of Modules

type ModuleSet = Set NDModule #

A set of `Module`s

emptyModuleSet :: ModuleSet #

mkModuleSet :: [Module] -> ModuleSet #

moduleSetElts :: ModuleSet -> [Module] #

extendModuleSet :: ModuleSet -> Module -> ModuleSet #

extendModuleSetList :: ModuleSet -> [Module] -> ModuleSet #

delModuleSet :: ModuleSet -> Module -> ModuleSet #

elemModuleSet :: Module -> ModuleSet -> Bool #

intersectModuleSet :: ModuleSet -> ModuleSet -> ModuleSet #

minusModuleSet :: ModuleSet -> ModuleSet -> ModuleSet #

unionModuleSet :: ModuleSet -> ModuleSet -> ModuleSet #

unitModuleSet :: Module -> ModuleSet #

isEmptyModuleSet :: ModuleSet -> Bool #

unionManyModuleSets :: [ModuleSet] -> ModuleSet #

# InstalledModuleEnv

data InstalledModuleEnv elt #

A map keyed off of `InstalledModule`

#### Instances

Instances details

Outputable elt => Outputable (InstalledModuleEnv elt) # |
Instance details Defined in GHC.Unit.Module.Env Methods ppr :: InstalledModuleEnv elt -> SDoc #

emptyInstalledModuleEnv :: InstalledModuleEnv a #

lookupInstalledModuleEnv :: InstalledModuleEnv a -> InstalledModule -> Maybe a #

extendInstalledModuleEnv :: InstalledModuleEnv a -> InstalledModule -> a -> InstalledModuleEnv a #

filterInstalledModuleEnv :: (InstalledModule -> a -> Bool) -> InstalledModuleEnv a -> InstalledModuleEnv a #

delInstalledModuleEnv :: InstalledModuleEnv a -> InstalledModule -> InstalledModuleEnv a #

mergeInstalledModuleEnv :: (elta -> eltb -> Maybe eltc) -> (InstalledModuleEnv elta -> InstalledModuleEnv eltc) -> (InstalledModuleEnv eltb -> InstalledModuleEnv eltc) -> InstalledModuleEnv elta -> InstalledModuleEnv eltb -> InstalledModuleEnv eltc #

plusInstalledModuleEnv :: (elt -> elt -> elt) -> InstalledModuleEnv elt -> InstalledModuleEnv elt -> InstalledModuleEnv elt #

installedModuleEnvElts :: InstalledModuleEnv a -> [(InstalledModule, a)] #