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

GHC.Types.Unique.Map

Synopsis

Documentation

newtype UniqMap k a Source #

Maps indexed by Uniquable keys

Constructors

UniqMap 

Fields

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 #

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

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 #

(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

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

(/=) :: UniqMap k a -> UniqMap k a -> Bool #

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 #

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 #

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

Intersection with a combining function.

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

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

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

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

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

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

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