ghc-7.4.2: The GHC API

Safe Haskell | None

UniqFM

Contents

- Unique-keyed mappings
  - Manipulating those mappings

Synopsis

- data UniqFM ele
- emptyUFM :: UniqFM elt
- unitUFM :: Uniquable key => key -> elt -> UniqFM elt
- unitDirectlyUFM :: Unique -> elt -> UniqFM elt
- listToUFM :: Uniquable key => [(key, elt)] -> UniqFM elt
- listToUFM_Directly :: [(Unique, elt)] -> UniqFM elt
- listToUFM_C :: Uniquable key => (elt -> elt -> elt) -> [(key, elt)] -> UniqFM elt
- addToUFM :: Uniquable key => UniqFM elt -> key -> elt -> UniqFM elt
- addToUFM_C :: Uniquable key => (elt -> elt -> elt) -> UniqFM elt -> key -> elt -> UniqFM elt
- addToUFM_Acc :: Uniquable key => (elt -> elts -> elts) -> (elt -> elts) -> UniqFM elts -> key -> elt -> UniqFM elts
- addListToUFM :: Uniquable key => UniqFM elt -> [(key, elt)] -> UniqFM elt
- addListToUFM_C :: Uniquable key => (elt -> elt -> elt) -> UniqFM elt -> [(key, elt)] -> UniqFM elt
- addToUFM_Directly :: UniqFM elt -> Unique -> elt -> UniqFM elt
- addListToUFM_Directly :: UniqFM elt -> [(Unique, elt)] -> UniqFM elt
- adjustUFM :: Uniquable key => (elt -> elt) -> UniqFM elt -> key -> UniqFM elt
- alterUFM :: Uniquable key => (Maybe elt -> Maybe elt) -> UniqFM elt -> key -> UniqFM elt
- adjustUFM_Directly :: (elt -> elt) -> UniqFM elt -> Unique -> UniqFM elt
- delFromUFM :: Uniquable key => UniqFM elt -> key -> UniqFM elt
- delFromUFM_Directly :: UniqFM elt -> Unique -> UniqFM elt
- delListFromUFM :: Uniquable key => UniqFM elt -> [key] -> UniqFM elt
- plusUFM :: UniqFM elt -> UniqFM elt -> UniqFM elt
- plusUFM_C :: (elt -> elt -> elt) -> UniqFM elt -> UniqFM elt -> UniqFM elt
- minusUFM :: UniqFM elt1 -> UniqFM elt2 -> UniqFM elt1
- intersectUFM :: UniqFM elt -> UniqFM elt -> UniqFM elt
- intersectUFM_C :: (elt1 -> elt2 -> elt3) -> UniqFM elt1 -> UniqFM elt2 -> UniqFM elt3
- foldUFM :: (elt -> a -> a) -> a -> UniqFM elt -> a
- foldUFM_Directly :: (Unique -> elt -> a -> a) -> a -> UniqFM elt -> a
- mapUFM :: (elt1 -> elt2) -> UniqFM elt1 -> UniqFM elt2
- mapUFM_Directly :: (Unique -> elt1 -> elt2) -> UniqFM elt1 -> UniqFM elt2
- elemUFM :: Uniquable key => key -> UniqFM elt -> Bool
- elemUFM_Directly :: Unique -> UniqFM elt -> Bool
- filterUFM :: (elt -> Bool) -> UniqFM elt -> UniqFM elt
- filterUFM_Directly :: (Unique -> elt -> Bool) -> UniqFM elt -> UniqFM elt
- sizeUFM :: UniqFM elt -> Int
- isNullUFM :: UniqFM elt -> Bool
- lookupUFM :: Uniquable key => UniqFM elt -> key -> Maybe elt
- lookupUFM_Directly :: UniqFM elt -> Unique -> Maybe elt
- lookupWithDefaultUFM :: Uniquable key => UniqFM elt -> elt -> key -> elt
- lookupWithDefaultUFM_Directly :: UniqFM elt -> elt -> Unique -> elt
- eltsUFM :: UniqFM elt -> [elt]
- keysUFM :: UniqFM elt -> [Unique]
- splitUFM :: Uniquable key => UniqFM elt -> key -> (UniqFM elt, Maybe elt, UniqFM elt)
- ufmToList :: UniqFM elt -> [(Unique, elt)]
- joinUFM :: JoinFun v -> JoinFun (UniqFM v)

# Unique-keyed mappings

data UniqFM ele

Instances

Functor UniqFM |
Typeable1 UniqFM |
Foldable UniqFM |
Traversable UniqFM |
TrieMap UniqFM |
UserOfLocalRegs RegSet |
Eq ele => Eq (UniqFM ele) |
Data ele => Data (UniqFM ele) |
Outputable a => Outputable (UniqFM a) |

## Manipulating those mappings

emptyUFM :: UniqFM elt

unitUFM :: Uniquable key => key -> elt -> UniqFM elt

unitDirectlyUFM :: Unique -> elt -> UniqFM elt

listToUFM :: Uniquable key => [(key, elt)] -> UniqFM elt

listToUFM_Directly :: [(Unique, elt)] -> UniqFM elt

listToUFM_C :: Uniquable key => (elt -> elt -> elt) -> [(key, elt)] -> UniqFM elt

addToUFM :: Uniquable key => UniqFM elt -> key -> elt -> UniqFM elt

addToUFM_C :: Uniquable key => (elt -> elt -> elt) -> UniqFM elt -> key -> elt -> UniqFM elt

addToUFM_Acc :: Uniquable key => (elt -> elts -> elts) -> (elt -> elts) -> UniqFM elts -> key -> elt -> UniqFM elts

addListToUFM :: Uniquable key => UniqFM elt -> [(key, elt)] -> UniqFM elt

addListToUFM_C :: Uniquable key => (elt -> elt -> elt) -> UniqFM elt -> [(key, elt)] -> UniqFM elt

addToUFM_Directly :: UniqFM elt -> Unique -> elt -> UniqFM elt

addListToUFM_Directly :: UniqFM elt -> [(Unique, elt)] -> UniqFM elt

adjustUFM :: Uniquable key => (elt -> elt) -> UniqFM elt -> key -> UniqFM elt

alterUFM :: Uniquable key => (Maybe elt -> Maybe elt) -> UniqFM elt -> key -> UniqFM elt

adjustUFM_Directly :: (elt -> elt) -> UniqFM elt -> Unique -> UniqFM elt

delFromUFM :: Uniquable key => UniqFM elt -> key -> UniqFM elt

delFromUFM_Directly :: UniqFM elt -> Unique -> UniqFM elt

delListFromUFM :: Uniquable key => UniqFM elt -> [key] -> UniqFM elt

plusUFM :: UniqFM elt -> UniqFM elt -> UniqFM elt

plusUFM_C :: (elt -> elt -> elt) -> UniqFM elt -> UniqFM elt -> UniqFM elt

minusUFM :: UniqFM elt1 -> UniqFM elt2 -> UniqFM elt1

intersectUFM :: UniqFM elt -> UniqFM elt -> UniqFM elt

intersectUFM_C :: (elt1 -> elt2 -> elt3) -> UniqFM elt1 -> UniqFM elt2 -> UniqFM elt3

foldUFM :: (elt -> a -> a) -> a -> UniqFM elt -> a

foldUFM_Directly :: (Unique -> elt -> a -> a) -> a -> UniqFM elt -> a

mapUFM :: (elt1 -> elt2) -> UniqFM elt1 -> UniqFM elt2

mapUFM_Directly :: (Unique -> elt1 -> elt2) -> UniqFM elt1 -> UniqFM elt2

elemUFM :: Uniquable key => key -> UniqFM elt -> Bool

elemUFM_Directly :: Unique -> UniqFM elt -> Bool

filterUFM :: (elt -> Bool) -> UniqFM elt -> UniqFM elt

filterUFM_Directly :: (Unique -> elt -> Bool) -> UniqFM elt -> UniqFM elt

sizeUFM :: UniqFM elt -> Int

isNullUFM :: UniqFM elt -> Bool

lookupUFM :: Uniquable key => UniqFM elt -> key -> Maybe elt

lookupUFM_Directly :: UniqFM elt -> Unique -> Maybe elt

lookupWithDefaultUFM :: Uniquable key => UniqFM elt -> elt -> key -> elt

lookupWithDefaultUFM_Directly :: UniqFM elt -> elt -> Unique -> elt

eltsUFM :: UniqFM elt -> [elt]

keysUFM :: UniqFM elt -> [Unique]

splitUFM :: Uniquable key => UniqFM elt -> key -> (UniqFM elt, Maybe elt, UniqFM elt)

ufmToList :: UniqFM elt -> [(Unique, elt)]

joinUFM :: JoinFun v -> JoinFun (UniqFM v)