ghc-9.2.4: The GHC API
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.Core.TyCon.Env

Synopsis

TyCon environment (map)

type TyConEnv a = UniqFM TyCon a #

TyCon Environment

Manipulating these environments

mkTyConEnv :: [(TyCon, a)] -> TyConEnv a #

mkTyConEnvWith :: (a -> TyCon) -> [a] -> TyConEnv a #

nameEnvElts :: TyConEnv a -> [a] #

extendTyConEnv_C :: (a -> a -> a) -> TyConEnv a -> TyCon -> a -> TyConEnv a #

extendTyConEnv_Acc :: (a -> b -> b) -> (a -> b) -> TyConEnv b -> TyCon -> a -> TyConEnv b #

extendTyConEnvList_C :: (a -> a -> a) -> TyConEnv a -> [(TyCon, a)] -> TyConEnv a #

filterTyConEnv :: (elt -> Bool) -> TyConEnv elt -> TyConEnv elt #

anyTyConEnv :: (elt -> Bool) -> TyConEnv elt -> Bool #

plusTyConEnv_C :: (a -> a -> a) -> TyConEnv a -> TyConEnv a -> TyConEnv a #

plusTyConEnv_CD :: (a -> a -> a) -> TyConEnv a -> a -> TyConEnv a -> a -> TyConEnv a #

plusTyConEnv_CD2 :: (Maybe a -> Maybe a -> a) -> TyConEnv a -> TyConEnv a -> TyConEnv a #

alterTyConEnv :: (Maybe a -> Maybe a) -> TyConEnv a -> TyCon -> TyConEnv a #

mapTyConEnv :: (elt1 -> elt2) -> TyConEnv elt1 -> TyConEnv elt2 #

type DTyConEnv a = UniqDFM TyCon a #

Deterministic TyCon Environment

See Note [Deterministic UniqFM] in GHC.Types.Unique.DFM for explanation why we need DTyConEnv.

mapDTyConEnv :: (a -> b) -> DTyConEnv a -> DTyConEnv b #

adjustDTyConEnv :: (a -> a) -> DTyConEnv a -> TyCon -> DTyConEnv a #

foldDTyConEnv :: (elt -> a -> a) -> a -> DTyConEnv elt -> a #