Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
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 #