ghc-lib-parser-9.14.1.20251220: 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 #

TyCon Environment

## Manipulating these environments

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 #

Deterministic TyCon Environment

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

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 #