Simple Finite Maps. This implementation provides several useful methods that Data.FiniteMap does not.
- data Ord a => FiniteMap a b
- emptyFM :: Ord a => FiniteMap a b
- addToFM :: Ord a => FiniteMap a b -> a -> b -> FiniteMap a b
- delFromFM :: Ord a => FiniteMap a b -> a -> FiniteMap a b
- updFM :: Ord a => FiniteMap a b -> a -> (b -> b) -> FiniteMap a b
- accumFM :: Ord a => FiniteMap a b -> a -> (b -> b -> b) -> b -> FiniteMap a b
- splitFM :: Ord a => FiniteMap a b -> a -> Maybe (FiniteMap a b, (a, b))
- isEmptyFM :: FiniteMap a b -> Bool
- sizeFM :: Ord a => FiniteMap a b -> Int
- lookupFM :: Ord a => FiniteMap a b -> a -> Maybe b
- elemFM :: Ord a => FiniteMap a b -> a -> Bool
- rangeFM :: Ord a => FiniteMap a b -> a -> a -> [b]
- minFM :: Ord a => FiniteMap a b -> Maybe (a, b)
- maxFM :: Ord a => FiniteMap a b -> Maybe (a, b)
- predFM :: Ord a => FiniteMap a b -> a -> Maybe (a, b)
- succFM :: Ord a => FiniteMap a b -> a -> Maybe (a, b)
- splitMinFM :: Ord a => FiniteMap a b -> Maybe (FiniteMap a b, (a, b))
- fmToList :: Ord a => FiniteMap a b -> [(a, b)]
Type
Operations
updFM :: Ord a => FiniteMap a b -> a -> (b -> b) -> FiniteMap a bSource
applies function to stored entry
accumFM :: Ord a => FiniteMap a b -> a -> (b -> b -> b) -> b -> FiniteMap a bSource
defines or aggregates entries
splitFM :: Ord a => FiniteMap a b -> a -> Maybe (FiniteMap a b, (a, b))Source
combines delFrom and lookup