| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Map.Ordered
Description
An ordered, strict map.
One might think that Strict already provides such a data type. This is not correct.
Lazy and Strict use the same, non-strict Map datatype.
Strict just provides functions that evaluate the value argument before inserting it
in the Map. The problem is that the typeclass instances of the shared Map datatype use the
non-strict functions.
Documentation
Instances
| Functor (OSMap k) Source # | |
| Foldable (OSMap k) Source # | |
| Traversable (OSMap k) Source # | |
| (Eq v, Eq k) => Eq (OSMap k v) Source # | |
| (Ord k, Data v, Data k) => Data (OSMap k v) Source # | |
| (Ord v, Ord k) => Ord (OSMap k v) Source # | |
| (Read v, Read k, Ord k) => Read (OSMap k v) Source # | |
| (Show v, Show k) => Show (OSMap k v) Source # | |
| Ord k => Monoid (OSMap k v) Source # | |
| (Ord k, Arbitrary k, Arbitrary v) => Arbitrary (OSMap k v) Source # | |
| (Hashable k, Hashable v) => Hashable (OSMap k v) Source # | |
| (NFData v, NFData k) => NFData (OSMap k v) Source # | |
fromListWith :: Ord k => (v -> v -> v) -> [(k, v)] -> OSMap k v Source #
findWithDefault :: Ord k => a -> k -> OSMap k a -> a Source #
foldrWithKey :: (k -> v -> a -> a) -> a -> OSMap k v -> a Source #
foldlWithKey :: (a -> k -> v -> a) -> a -> OSMap k v -> a Source #
toDescList :: OSMap k v -> [(k, v)] Source #
updateLookupWithKey :: Ord k => (k -> a -> Maybe a) -> k -> OSMap k a -> (Maybe a, OSMap k a) Source #
insertLookupWithKey :: Ord k => (k -> a -> a -> a) -> k -> a -> OSMap k a -> (Maybe a, OSMap k a) Source #
fromDistinctAscList :: [(k, v)] -> OSMap k v Source #
fromDataMap :: Map k v -> OSMap k v Source #