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

Safe Haskell | Ignore
Language | GHC2021

GHC.Types.Unique.Map

Synopsis

- newtype UniqMap k a = UniqMap {
  - getUniqMap :: UniqFM k (k, a)
  }
- emptyUniqMap :: UniqMap k a
- isNullUniqMap :: UniqMap k a -> Bool
- unitUniqMap :: Uniquable k => k -> a -> UniqMap k a
- listToUniqMap :: Uniquable k => [(k, a)] -> UniqMap k a
- listToUniqMap_C :: Uniquable k => (a -> a -> a) -> [(k, a)] -> UniqMap k a
- addToUniqMap :: Uniquable k => UniqMap k a -> k -> a -> UniqMap k a
- addListToUniqMap :: Uniquable k => UniqMap k a -> [(k, a)] -> UniqMap k a
- addToUniqMap_C :: Uniquable k => (a -> a -> a) -> UniqMap k a -> k -> a -> UniqMap k a
- addToUniqMap_Acc :: Uniquable k => (b -> a -> a) -> (b -> a) -> UniqMap k a -> k -> b -> UniqMap k a
- addToUniqMap_L :: Uniquable k => (k -> a -> a -> a) -> k -> a -> UniqMap k a -> (Maybe a, UniqMap k a)
- alterUniqMap :: Uniquable k => (Maybe a -> Maybe a) -> UniqMap k a -> k -> UniqMap k a
- addListToUniqMap_C :: Uniquable k => (a -> a -> a) -> UniqMap k a -> [(k, a)] -> UniqMap k a
- adjustUniqMap :: Uniquable k => (a -> a) -> UniqMap k a -> k -> UniqMap k a
- delFromUniqMap :: Uniquable k => UniqMap k a -> k -> UniqMap k a
- delListFromUniqMap :: Uniquable k => UniqMap k a -> [k] -> UniqMap k a
- plusUniqMap :: UniqMap k a -> UniqMap k a -> UniqMap k a
- plusUniqMap_C :: (a -> a -> a) -> UniqMap k a -> UniqMap k a -> UniqMap k a
- plusMaybeUniqMap_C :: (a -> a -> Maybe a) -> UniqMap k a -> UniqMap k a -> UniqMap k a
- plusUniqMapList :: [UniqMap k a] -> UniqMap k a
- plusUniqMapListWith :: (a -> a -> a) -> [UniqMap k a] -> UniqMap k a
- minusUniqMap :: UniqMap k a -> UniqMap k b -> UniqMap k a
- intersectUniqMap :: UniqMap k a -> UniqMap k b -> UniqMap k a
- intersectUniqMap_C :: (a -> b -> c) -> UniqMap k a -> UniqMap k b -> UniqMap k c
- disjointUniqMap :: UniqMap k a -> UniqMap k b -> Bool
- mapUniqMap :: (a -> b) -> UniqMap k a -> UniqMap k b
- filterUniqMap :: (a -> Bool) -> UniqMap k a -> UniqMap k a
- filterWithKeyUniqMap :: (k -> a -> Bool) -> UniqMap k a -> UniqMap k a
- partitionUniqMap :: (a -> Bool) -> UniqMap k a -> (UniqMap k a, UniqMap k a)
- sizeUniqMap :: UniqMap k a -> Int
- elemUniqMap :: Uniquable k => k -> UniqMap k a -> Bool
- nonDetKeysUniqMap :: UniqMap k a -> [k]
- nonDetEltsUniqMap :: UniqMap k a -> [a]
- lookupUniqMap :: Uniquable k => UniqMap k a -> k -> Maybe a
- lookupWithDefaultUniqMap :: Uniquable k => UniqMap k a -> a -> k -> a
- anyUniqMap :: (a -> Bool) -> UniqMap k a -> Bool
- allUniqMap :: (a -> Bool) -> UniqMap k a -> Bool
- nonDetUniqMapToList :: UniqMap k a -> [(k, a)]
- nonDetUniqMapToKeySet :: Ord k => UniqMap k a -> Set k
- nonDetFoldUniqMap :: ((k, a) -> b -> b) -> b -> UniqMap k a -> b

# Documentation

newtype UniqMap k a Source #

Maps indexed by `Uniquable` keys

Constructors

UniqMap |

Fields

- getUniqMap :: UniqFM k (k, a)

#### Instances

Instances details

Functor (UniqMap k) Source # |
Instance details Defined in GHC.Types.Unique.Map Methods fmap :: (a -> b) -> UniqMap k a -> UniqMap k b Source # (<$) :: a -> UniqMap k b -> UniqMap k a Source #
(NFData k, NFData a) => NFData (UniqMap k a) Source # |
Instance details Defined in GHC.Types.Unique.Map Methods rnf :: UniqMap k a -> () Source #
Monoid (UniqMap k a) Source # |
Instance details Defined in GHC.Types.Unique.Map Methods mempty :: UniqMap k a Source # mappend :: UniqMap k a -> UniqMap k a -> UniqMap k a Source # mconcat :: [UniqMap k a] -> UniqMap k a Source #
Semigroup (UniqMap k a) Source # |
Instance details Defined in GHC.Types.Unique.Map Methods (<>) :: UniqMap k a -> UniqMap k a -> UniqMap k a Source # sconcat :: NonEmpty (UniqMap k a) -> UniqMap k a Source # stimes :: Integral b => b -> UniqMap k a -> UniqMap k a Source #
(Data k, Data a) => Data (UniqMap k a) Source # |

Instance details

Defined in GHC.Types.Unique.Map

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UniqMap k a -> c (UniqMap k a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (UniqMap k a) Source #

toConstr :: UniqMap k a -> Constr Source #

dataTypeOf :: UniqMap k a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (UniqMap k a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (UniqMap k a)) Source #

gmapT :: (forall b. Data b => b -> b) -> UniqMap k a -> UniqMap k a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UniqMap k a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UniqMap k a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> UniqMap k a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UniqMap k a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UniqMap k a -> m (UniqMap k a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UniqMap k a -> m (UniqMap k a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UniqMap k a -> m (UniqMap k a) Source #

ToJExpr a => ToJExpr (UniqMap FastString a) Source # |
Instance details Defined in GHC.JS.Make Methods toJExpr :: UniqMap FastString a -> JStgExpr Source # toJExprFromList :: [UniqMap FastString a] -> JStgExpr Source #
(Outputable k, Outputable a) => Outputable (UniqMap k a) Source # |
Instance details Defined in GHC.Types.Unique.Map Methods ppr :: UniqMap k a -> SDoc Source #
(Eq k, Eq a) => Eq (UniqMap k a) Source # |
Instance details Defined in GHC.Types.Unique.Map Methods (==) :: UniqMap k a -> UniqMap k a -> Bool Source # (/=) :: UniqMap k a -> UniqMap k a -> Bool Source #

emptyUniqMap :: UniqMap k a Source #

isNullUniqMap :: UniqMap k a -> Bool Source #

unitUniqMap :: Uniquable k => k -> a -> UniqMap k a Source #

listToUniqMap :: Uniquable k => [(k, a)] -> UniqMap k a Source #

listToUniqMap_C :: Uniquable k => (a -> a -> a) -> [(k, a)] -> UniqMap k a Source #

addToUniqMap :: Uniquable k => UniqMap k a -> k -> a -> UniqMap k a Source #

addListToUniqMap :: Uniquable k => UniqMap k a -> [(k, a)] -> UniqMap k a Source #

addToUniqMap_C :: Uniquable k => (a -> a -> a) -> UniqMap k a -> k -> a -> UniqMap k a Source #

addToUniqMap_Acc :: Uniquable k => (b -> a -> a) -> (b -> a) -> UniqMap k a -> k -> b -> UniqMap k a Source #

addToUniqMap_L :: Uniquable k => (k -> a -> a -> a) -> k -> a -> UniqMap k a -> (Maybe a, UniqMap k a) Source #

Add an element, returns previous lookup result and new map. If old element doesn't exist, add the passed element directly, otherwise compute the element to add using the passed function.

alterUniqMap :: Uniquable k => (Maybe a -> Maybe a) -> UniqMap k a -> k -> UniqMap k a Source #

addListToUniqMap_C :: Uniquable k => (a -> a -> a) -> UniqMap k a -> [(k, a)] -> UniqMap k a Source #

adjustUniqMap :: Uniquable k => (a -> a) -> UniqMap k a -> k -> UniqMap k a Source #

delFromUniqMap :: Uniquable k => UniqMap k a -> k -> UniqMap k a Source #

delListFromUniqMap :: Uniquable k => UniqMap k a -> [k] -> UniqMap k a Source #

plusUniqMap :: UniqMap k a -> UniqMap k a -> UniqMap k a Source #

plusUniqMap_C :: (a -> a -> a) -> UniqMap k a -> UniqMap k a -> UniqMap k a Source #

plusMaybeUniqMap_C :: (a -> a -> Maybe a) -> UniqMap k a -> UniqMap k a -> UniqMap k a Source #

plusUniqMapList :: [UniqMap k a] -> UniqMap k a Source #

plusUniqMapListWith :: (a -> a -> a) -> [UniqMap k a] -> UniqMap k a Source #

minusUniqMap :: UniqMap k a -> UniqMap k b -> UniqMap k a Source #

intersectUniqMap :: UniqMap k a -> UniqMap k b -> UniqMap k a Source #

intersectUniqMap_C :: (a -> b -> c) -> UniqMap k a -> UniqMap k b -> UniqMap k c Source #

Intersection with a combining function.

disjointUniqMap :: UniqMap k a -> UniqMap k b -> Bool Source #

mapUniqMap :: (a -> b) -> UniqMap k a -> UniqMap k b Source #

filterUniqMap :: (a -> Bool) -> UniqMap k a -> UniqMap k a Source #

filterWithKeyUniqMap :: (k -> a -> Bool) -> UniqMap k a -> UniqMap k a Source #

partitionUniqMap :: (a -> Bool) -> UniqMap k a -> (UniqMap k a, UniqMap k a) Source #

sizeUniqMap :: UniqMap k a -> Int Source #

elemUniqMap :: Uniquable k => k -> UniqMap k a -> Bool Source #

nonDetKeysUniqMap :: UniqMap k a -> [k] Source #

nonDetEltsUniqMap :: UniqMap k a -> [a] Source #

lookupUniqMap :: Uniquable k => UniqMap k a -> k -> Maybe a Source #

lookupWithDefaultUniqMap :: Uniquable k => UniqMap k a -> a -> k -> a Source #

anyUniqMap :: (a -> Bool) -> UniqMap k a -> Bool Source #

allUniqMap :: (a -> Bool) -> UniqMap k a -> Bool Source #

nonDetUniqMapToList :: UniqMap k a -> [(k, a)] Source #

nonDetUniqMapToKeySet :: Ord k => UniqMap k a -> Set k Source #

nonDetFoldUniqMap :: ((k, a) -> b -> b) -> b -> UniqMap k a -> b Source #