ghc-9.6.3: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

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
- 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
- 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
- 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
- nonDetEltsUniqMap :: UniqMap k a -> [(k, a)]
- 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 #
(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 Methods toJExpr :: UniqMap FastString a -> JExpr Source # toJExprFromList :: [UniqMap FastString a] -> JExpr 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 # (/=) :: 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 #

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 #

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 #

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 #

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

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