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

GHC.Core.TyCon.Env

Synopsis

TyCon environment (map)

type TyConEnv a = UniqFM TyCon a Source #

TyCon Environment

Manipulating these environments

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

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

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

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

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

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

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

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

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

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

type DTyConEnv a = UniqDFM TyCon a Source #

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 Source #

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

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