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

Safe Haskell | Ignore
Language | GHC2021

GHC.Core.TyCon.Env

Contents

- TyCon environment (map)
  - Manipulating these environments

Synopsis

- type TyConEnv a = UniqFM TyCon a
- mkTyConEnv :: [(TyCon, a)] -> TyConEnv a
- mkTyConEnvWith :: (a -> TyCon) -> [a] -> TyConEnv a
- emptyTyConEnv :: TyConEnv a
- isEmptyTyConEnv :: TyConEnv a -> Bool
- unitTyConEnv :: TyCon -> a -> TyConEnv a
- nonDetTyConEnvElts :: 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
- extendTyConEnv :: TyConEnv a -> TyCon -> a -> TyConEnv a
- extendTyConEnvList :: TyConEnv a -> [(TyCon, a)] -> TyConEnv a
- 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 :: TyConEnv a -> TyConEnv a -> TyConEnv a
- 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
- lookupTyConEnv :: TyConEnv a -> TyCon -> Maybe a
- lookupTyConEnv_NF :: TyConEnv a -> TyCon -> a
- delFromTyConEnv :: TyConEnv a -> TyCon -> TyConEnv a
- delListFromTyConEnv :: TyConEnv a -> [TyCon] -> TyConEnv a
- elemTyConEnv :: TyCon -> TyConEnv a -> Bool
- mapTyConEnv :: (elt1 -> elt2) -> TyConEnv elt1 -> TyConEnv elt2
- disjointTyConEnv :: TyConEnv a -> TyConEnv a -> Bool
- type DTyConEnv a = UniqDFM TyCon a
- emptyDTyConEnv :: DTyConEnv a
- isEmptyDTyConEnv :: DTyConEnv a -> Bool
- lookupDTyConEnv :: DTyConEnv a -> TyCon -> Maybe a
- delFromDTyConEnv :: DTyConEnv a -> TyCon -> DTyConEnv a
- filterDTyConEnv :: (a -> Bool) -> DTyConEnv a -> DTyConEnv a
- mapDTyConEnv :: (a -> b) -> DTyConEnv a -> DTyConEnv b
- mapMaybeDTyConEnv :: (a -> Maybe b) -> DTyConEnv a -> DTyConEnv b
- adjustDTyConEnv :: (a -> a) -> DTyConEnv a -> TyCon -> DTyConEnv a
- alterDTyConEnv :: (Maybe a -> Maybe a) -> DTyConEnv a -> TyCon -> DTyConEnv a
- extendDTyConEnv :: DTyConEnv a -> TyCon -> a -> DTyConEnv a
- foldDTyConEnv :: (elt -> a -> a) -> a -> DTyConEnv elt -> a

# TyCon environment (map)

type TyConEnv a = UniqFM TyCon a Source #

TyCon Environment

## Manipulating these environments

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

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

emptyTyConEnv :: TyConEnv a Source #

isEmptyTyConEnv :: TyConEnv a -> Bool Source #

unitTyConEnv :: TyCon -> a -> TyConEnv a Source #

nonDetTyConEnvElts :: TyConEnv a -> [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 #

extendTyConEnv :: TyConEnv a -> TyCon -> a -> TyConEnv a Source #

extendTyConEnvList :: TyConEnv a -> [(TyCon, a)] -> TyConEnv a 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 :: TyConEnv a -> TyConEnv a -> TyConEnv a 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 #

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

lookupTyConEnv :: TyConEnv a -> TyCon -> Maybe a Source #

lookupTyConEnv_NF :: TyConEnv a -> TyCon -> a Source #

delFromTyConEnv :: TyConEnv a -> TyCon -> TyConEnv a Source #

delListFromTyConEnv :: TyConEnv a -> [TyCon] -> TyConEnv a Source #

elemTyConEnv :: TyCon -> TyConEnv a -> Bool Source #

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

disjointTyConEnv :: TyConEnv a -> TyConEnv a -> Bool 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.

emptyDTyConEnv :: DTyConEnv a Source #

isEmptyDTyConEnv :: DTyConEnv a -> Bool Source #

lookupDTyConEnv :: DTyConEnv a -> TyCon -> Maybe a Source #

delFromDTyConEnv :: DTyConEnv a -> TyCon -> DTyConEnv a Source #

filterDTyConEnv :: (a -> Bool) -> DTyConEnv a -> DTyConEnv a Source #

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

mapMaybeDTyConEnv :: (a -> Maybe b) -> DTyConEnv a -> DTyConEnv b Source #

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

alterDTyConEnv :: (Maybe a -> Maybe a) -> DTyConEnv a -> TyCon -> DTyConEnv a Source #

extendDTyConEnv :: DTyConEnv a -> TyCon -> a -> DTyConEnv a Source #

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