Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type NameEnv a = UniqFM Name a
- mkNameEnv :: [(Name, a)] -> NameEnv a
- mkNameEnvWith :: (a -> Name) -> [a] -> NameEnv a
- emptyNameEnv :: NameEnv a
- isEmptyNameEnv :: NameEnv a -> Bool
- unitNameEnv :: Name -> a -> NameEnv a
- nameEnvElts :: NameEnv a -> [a]
- extendNameEnv_C :: (a -> a -> a) -> NameEnv a -> Name -> a -> NameEnv a
- extendNameEnv_Acc :: (a -> b -> b) -> (a -> b) -> NameEnv b -> Name -> a -> NameEnv b
- extendNameEnv :: NameEnv a -> Name -> a -> NameEnv a
- extendNameEnvList :: NameEnv a -> [(Name, a)] -> NameEnv a
- extendNameEnvList_C :: (a -> a -> a) -> NameEnv a -> [(Name, a)] -> NameEnv a
- filterNameEnv :: (elt -> Bool) -> NameEnv elt -> NameEnv elt
- anyNameEnv :: (elt -> Bool) -> NameEnv elt -> Bool
- plusNameEnv :: NameEnv a -> NameEnv a -> NameEnv a
- plusNameEnv_C :: (a -> a -> a) -> NameEnv a -> NameEnv a -> NameEnv a
- plusNameEnv_CD :: (a -> a -> a) -> NameEnv a -> a -> NameEnv a -> a -> NameEnv a
- plusNameEnv_CD2 :: (Maybe a -> Maybe a -> a) -> NameEnv a -> NameEnv a -> NameEnv a
- alterNameEnv :: (Maybe a -> Maybe a) -> NameEnv a -> Name -> NameEnv a
- lookupNameEnv :: NameEnv a -> Name -> Maybe a
- lookupNameEnv_NF :: NameEnv a -> Name -> a
- delFromNameEnv :: NameEnv a -> Name -> NameEnv a
- delListFromNameEnv :: NameEnv a -> [Name] -> NameEnv a
- elemNameEnv :: Name -> NameEnv a -> Bool
- mapNameEnv :: (elt1 -> elt2) -> NameEnv elt1 -> NameEnv elt2
- disjointNameEnv :: NameEnv a -> NameEnv a -> Bool
- type DNameEnv a = UniqDFM Name a
- emptyDNameEnv :: DNameEnv a
- lookupDNameEnv :: DNameEnv a -> Name -> Maybe a
- delFromDNameEnv :: DNameEnv a -> Name -> DNameEnv a
- filterDNameEnv :: (a -> Bool) -> DNameEnv a -> DNameEnv a
- mapDNameEnv :: (a -> b) -> DNameEnv a -> DNameEnv b
- adjustDNameEnv :: (a -> a) -> DNameEnv a -> Name -> DNameEnv a
- alterDNameEnv :: (Maybe a -> Maybe a) -> DNameEnv a -> Name -> DNameEnv a
- extendDNameEnv :: DNameEnv a -> Name -> a -> DNameEnv a
- depAnal :: forall node. (node -> [Name]) -> (node -> [Name]) -> [node] -> [SCC node]
Var, Id and TyVar environments (maps)
Manipulating these environments
mkNameEnvWith :: (a -> Name) -> [a] -> NameEnv a Source #
emptyNameEnv :: NameEnv a Source #
isEmptyNameEnv :: NameEnv a -> Bool Source #
unitNameEnv :: Name -> a -> NameEnv a Source #
nameEnvElts :: NameEnv a -> [a] Source #
lookupNameEnv_NF :: NameEnv a -> Name -> a Source #
mapNameEnv :: (elt1 -> elt2) -> NameEnv elt1 -> NameEnv elt2 Source #
type DNameEnv a = UniqDFM Name a Source #
Deterministic Name Environment
See Note [Deterministic UniqFM] in GHC.Types.Unique.DFM for explanation why we need DNameEnv.
emptyDNameEnv :: DNameEnv a Source #
mapDNameEnv :: (a -> b) -> DNameEnv a -> DNameEnv b Source #