Safe Haskell | None |
---|---|
Language | Haskell2010 |
- 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
- delListFromUFM_Directly :: UniqFM elt -> [Unique] -> UniqFM elt
- plusUFM :: UniqFM elt -> UniqFM elt -> UniqFM elt
- plusUFM_C :: (elt -> elt -> elt) -> UniqFM elt -> UniqFM elt -> UniqFM elt
- plusUFM_CD :: (elt -> elt -> elt) -> UniqFM elt -> elt -> UniqFM elt -> 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
- disjointUFM :: UniqFM elt1 -> UniqFM elt2 -> Bool
- 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
- partitionUFM :: (elt -> Bool) -> UniqFM elt -> (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)
- nonDetEltsUFM :: UniqFM elt -> [elt]
- ufmToSet_Directly :: UniqFM elt -> IntSet
- ufmToList :: UniqFM elt -> [(Unique, elt)]
- ufmToIntMap :: UniqFM elt -> IntMap elt
- joinUFM :: JoinFun v -> JoinFun (UniqFM v)
- pprUniqFM :: (a -> SDoc) -> UniqFM a -> SDoc
- pprUFM :: ([a] -> SDoc) -> UniqFM a -> SDoc
- pluralUFM :: UniqFM a -> SDoc
Unique-keyed mappings
Manipulating those mappings
unitDirectlyUFM :: Unique -> elt -> UniqFM elt #
listToUFM_Directly :: [(Unique, elt)] -> UniqFM elt #
listToUFM_C :: Uniquable key => (elt -> elt -> 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_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 #
delListFromUFM_Directly :: UniqFM elt -> [Unique] -> UniqFM elt #
plusUFM_CD :: (elt -> elt -> elt) -> UniqFM elt -> elt -> UniqFM elt -> elt -> UniqFM elt #
`plusUFM_CD f m1 d1 m2 d2` merges the maps using f
as the
combinding function and d1
resp. d2
as the default value if
there is no entry in m1
reps. m2
. The domain is the union of
the domains of m1
and m2
.
Representative example:
plusUFM_CD f {A: 1, B: 2} 23 {B: 3, C: 4} 42 == {A: f 1 42, B: f 2 3, C: f 23 4 }
intersectUFM :: UniqFM elt -> UniqFM elt -> UniqFM elt #
intersectUFM_C :: (elt1 -> elt2 -> elt3) -> UniqFM elt1 -> UniqFM elt2 -> UniqFM elt3 #
disjointUFM :: UniqFM elt1 -> UniqFM elt2 -> Bool #
foldUFM_Directly :: (Unique -> elt -> a -> a) -> a -> UniqFM elt -> a #
mapUFM_Directly :: (Unique -> elt1 -> elt2) -> UniqFM elt1 -> UniqFM elt2 #
elemUFM_Directly :: Unique -> UniqFM elt -> Bool #
lookupUFM_Directly :: UniqFM elt -> Unique -> Maybe elt #
lookupWithDefaultUFM :: Uniquable key => UniqFM elt -> elt -> key -> elt #
lookupWithDefaultUFM_Directly :: UniqFM elt -> elt -> Unique -> elt #
nonDetEltsUFM :: UniqFM elt -> [elt] #
ufmToSet_Directly :: UniqFM elt -> IntSet #
ufmToIntMap :: UniqFM elt -> IntMap elt #
:: ([a] -> SDoc) | The pretty printing function to use on the elements |
-> UniqFM a | The things to be pretty printed |
-> SDoc |
|
Pretty-print a non-deterministic set. The order of variables is non-deterministic and for pretty-printing that shouldn't be a problem. Having this function helps contain the non-determinism created with eltsUFM.