GHC.Types.Unique.Map

ghc-9.10.0.20240426: The GHC API

Safe Haskell | None
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 # (<$) :: a -> UniqMap k b -> UniqMap k a #
(NFData k, NFData a) => NFData (UniqMap k a) Source # |
Instance details Defined in GHC.Types.Unique.Map Methods rnf :: 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 #
Monoid (UniqMap k a) Source # |
Instance details Defined in GHC.Types.Unique.Map Methods mempty :: UniqMap k a # mappend :: UniqMap k a -> UniqMap k a -> UniqMap k a # mconcat :: [UniqMap k a] -> UniqMap k a #
Semigroup (UniqMap k a) Source # |
Instance details Defined in GHC.Types.Unique.Map Methods (<>) :: UniqMap k a -> UniqMap k a -> UniqMap k a # sconcat :: NonEmpty (UniqMap k a) -> UniqMap k a # stimes :: Integral b => b -> UniqMap k a -> UniqMap k a #
(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) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (UniqMap k a) # toConstr :: UniqMap k a -> Constr # dataTypeOf :: UniqMap k a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (UniqMap k a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (UniqMap k a)) # gmapT :: (forall b. Data b => b -> b) -> UniqMap k a -> UniqMap k a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UniqMap k a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UniqMap k a -> r # gmapQ :: (forall d. Data d => d -> u) -> UniqMap k a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> UniqMap k a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> UniqMap k a -> m (UniqMap k a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UniqMap k a -> m (UniqMap k a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UniqMap k a -> m (UniqMap k a) #
(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 # (/=) :: UniqMap k a -> UniqMap k a -> Bool #

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 #