Safe Haskell | None |
---|---|
Language | Haskell2010 |
A wrapper around HashMap
from the unordered-containers package,
with the aim of fixing the strictness of the type class operations,
to obtain a fully strict (observationally) data structure.
Documentation
Instances
Eq2 HashMap Source # | |
Show2 HashMap Source # | |
Hashable2 HashMap Source # | |
Defined in Data.Strict.HashMap | |
Functor (HashMap k) Source # | |
Foldable (HashMap k) Source # | |
Defined in Data.Strict.HashMap fold :: Monoid m => HashMap k m -> m # foldMap :: Monoid m => (a -> m) -> HashMap k a -> m # foldr :: (a -> b -> b) -> b -> HashMap k a -> b # foldr' :: (a -> b -> b) -> b -> HashMap k a -> b # foldl :: (b -> a -> b) -> b -> HashMap k a -> b # foldl' :: (b -> a -> b) -> b -> HashMap k a -> b # foldr1 :: (a -> a -> a) -> HashMap k a -> a # foldl1 :: (a -> a -> a) -> HashMap k a -> a # toList :: HashMap k a -> [a] # length :: HashMap k a -> Int # elem :: Eq a => a -> HashMap k a -> Bool # maximum :: Ord a => HashMap k a -> a # minimum :: Ord a => HashMap k a -> a # | |
Traversable (HashMap k) Source # | |
Eq k => Eq1 (HashMap k) Source # | |
(Eq k, Hashable k, Read k) => Read1 (HashMap k) Source # | |
Defined in Data.Strict.HashMap | |
Show k => Show1 (HashMap k) Source # | |
Hashable k => Hashable1 (HashMap k) Source # | |
Defined in Data.Strict.HashMap | |
(StrictType seen k, StrictType seen v) => StrictType seen (HashMap k v :: *) Source # | |
Defined in Data.Strict.HashMap | |
(Eq k, Hashable k) => IsList (HashMap k v) Source # | |
(Eq k, Eq a) => Eq (HashMap k a) Source # | |
(Data k, Data a, Eq k, Hashable k) => Data (HashMap k a) Source # | |
Defined in Data.Strict.HashMap gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HashMap k a -> c (HashMap k a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HashMap k a) # toConstr :: HashMap k a -> Constr # dataTypeOf :: HashMap k a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HashMap k a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HashMap k a)) # gmapT :: (forall b. Data b => b -> b) -> HashMap k a -> HashMap k a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HashMap k a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HashMap k a -> r # gmapQ :: (forall d. Data d => d -> u) -> HashMap k a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> HashMap k a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HashMap k a -> m (HashMap k a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HashMap k a -> m (HashMap k a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HashMap k a -> m (HashMap k a) # | |
(Eq k, Hashable k, Read k, Read a) => Read (HashMap k a) Source # | |
(Show k, Show a) => Show (HashMap k a) Source # | |
(Eq k, Hashable k) => Semigroup (HashMap k a) Source # | |
(Eq k, Hashable k) => Monoid (HashMap k a) Source # | |
(NFData k, NFData a) => NFData (HashMap k a) Source # | |
Defined in Data.Strict.HashMap | |
(Hashable k, Hashable a) => Hashable (HashMap k a) Source # | |
Defined in Data.Strict.HashMap | |
type Item (HashMap k v) Source # | |
Defined in Data.Strict.HashMap |
alter :: (Hashable k2, Eq k2) => (Maybe a2 -> Maybe a2) -> k2 -> HashMap k2 a2 -> HashMap k2 a2 Source #
differenceWith :: (Hashable k3, Eq k3) => (a3 -> w -> Maybe a3) -> HashMap k3 a3 -> HashMap k3 w -> HashMap k3 a3 Source #
foldl' :: (HashMap k2 a2 -> v -> HashMap k2 a2) -> HashMap k2 a2 -> HashMap k v -> HashMap k2 a2 Source #
foldlWithKey' :: (HashMap k2 a2 -> k -> v -> HashMap k2 a2) -> HashMap k2 a2 -> HashMap k v -> HashMap k2 a2 Source #
foldr :: (v -> HashMap k2 a2 -> HashMap k2 a2) -> HashMap k2 a2 -> HashMap k v -> HashMap k2 a2 Source #
foldrWithKey :: (k -> v -> HashMap k2 a2 -> HashMap k2 a2) -> HashMap k2 a2 -> HashMap k v -> HashMap k2 a2 Source #
insertWith :: (Hashable k2, Eq k2) => (a2 -> a2 -> a2) -> k2 -> a2 -> HashMap k2 a2 -> HashMap k2 a2 Source #
intersectionWith :: (Hashable k3, Eq k3) => (v1 -> v2 -> a3) -> HashMap k3 v1 -> HashMap k3 v2 -> HashMap k3 a3 Source #
intersectionWithKey :: (Hashable k3, Eq k3) => (k3 -> v1 -> v2 -> a3) -> HashMap k3 v1 -> HashMap k3 v2 -> HashMap k3 a3 Source #
mapWithKey :: (k2 -> v1 -> a2) -> HashMap k2 v1 -> HashMap k2 a2 Source #
traverseWithKey :: Applicative f => (k -> v1 -> f a) -> HashMap k v1 -> f (HashMap k a) Source #
unionWith :: (Hashable k3, Eq k3) => (a3 -> a3 -> a3) -> HashMap k3 a3 -> HashMap k3 a3 -> HashMap k3 a3 Source #