monoid-map-0.1.0.0: Newtype wrapper around 'Data.Map.Monoidal.MonoidalMap' that has a correct 'Group' instance.

Safe HaskellNone
LanguageHaskell2010

Data.MonoidMap

Description

This module contains a newtype wrapper around Map that has a correct Group instance compared to the one for MonoidalMap, in that it has a unique neutral element. This comes with different constraints on the parameters (check the instances for Semigroup and Monoid of the corresponding data structures if you're interested).

Synopsis

Documentation

newtype MonoidMap k v Source #

Newtype wrapper around Data.Map.Monoidal.MonoidalMap

Constructors

MonoidMap 

Fields

Instances
Functor (MonoidMap k) Source # 
Instance details

Defined in Data.MonoidMap

Methods

fmap :: (a -> b) -> MonoidMap k a -> MonoidMap k b #

(<$) :: a -> MonoidMap k b -> MonoidMap k a #

Foldable (MonoidMap k) Source # 
Instance details

Defined in Data.MonoidMap

Methods

fold :: Monoid m => MonoidMap k m -> m #

foldMap :: Monoid m => (a -> m) -> MonoidMap k a -> m #

foldr :: (a -> b -> b) -> b -> MonoidMap k a -> b #

foldr' :: (a -> b -> b) -> b -> MonoidMap k a -> b #

foldl :: (b -> a -> b) -> b -> MonoidMap k a -> b #

foldl' :: (b -> a -> b) -> b -> MonoidMap k a -> b #

foldr1 :: (a -> a -> a) -> MonoidMap k a -> a #

foldl1 :: (a -> a -> a) -> MonoidMap k a -> a #

toList :: MonoidMap k a -> [a] #

null :: MonoidMap k a -> Bool #

length :: MonoidMap k a -> Int #

elem :: Eq a => a -> MonoidMap k a -> Bool #

maximum :: Ord a => MonoidMap k a -> a #

minimum :: Ord a => MonoidMap k a -> a #

sum :: Num a => MonoidMap k a -> a #

product :: Num a => MonoidMap k a -> a #

Traversable (MonoidMap k) Source # 
Instance details

Defined in Data.MonoidMap

Methods

traverse :: Applicative f => (a -> f b) -> MonoidMap k a -> f (MonoidMap k b) #

sequenceA :: Applicative f => MonoidMap k (f a) -> f (MonoidMap k a) #

mapM :: Monad m => (a -> m b) -> MonoidMap k a -> m (MonoidMap k b) #

sequence :: Monad m => MonoidMap k (m a) -> m (MonoidMap k a) #

Filterable (MonoidalMap k) => Filterable (MonoidMap k) Source # 
Instance details

Defined in Data.MonoidMap

Methods

mapMaybe :: (a -> Maybe b) -> MonoidMap k a -> MonoidMap k b #

catMaybes :: MonoidMap k (Maybe a) -> MonoidMap k a #

filter :: (a -> Bool) -> MonoidMap k a -> MonoidMap k a #

(Eq k, Eq v) => Eq (MonoidMap k v) Source # 
Instance details

Defined in Data.MonoidMap

Methods

(==) :: MonoidMap k v -> MonoidMap k v -> Bool #

(/=) :: MonoidMap k v -> MonoidMap k v -> Bool #

(Ord k, Ord v) => Ord (MonoidMap k v) Source # 
Instance details

Defined in Data.MonoidMap

Methods

compare :: MonoidMap k v -> MonoidMap k v -> Ordering #

(<) :: MonoidMap k v -> MonoidMap k v -> Bool #

(<=) :: MonoidMap k v -> MonoidMap k v -> Bool #

(>) :: MonoidMap k v -> MonoidMap k v -> Bool #

(>=) :: MonoidMap k v -> MonoidMap k v -> Bool #

max :: MonoidMap k v -> MonoidMap k v -> MonoidMap k v #

min :: MonoidMap k v -> MonoidMap k v -> MonoidMap k v #

(Show k, Show v) => Show (MonoidMap k v) Source # 
Instance details

Defined in Data.MonoidMap

Methods

showsPrec :: Int -> MonoidMap k v -> ShowS #

show :: MonoidMap k v -> String #

showList :: [MonoidMap k v] -> ShowS #

(Monoid a, Eq a, Ord k) => Semigroup (MonoidMap k a) Source # 
Instance details

Defined in Data.MonoidMap

Methods

(<>) :: MonoidMap k a -> MonoidMap k a -> MonoidMap k a #

sconcat :: NonEmpty (MonoidMap k a) -> MonoidMap k a #

stimes :: Integral b => b -> MonoidMap k a -> MonoidMap k a #

(Ord k, Monoid a, Eq a) => Monoid (MonoidMap k a) Source # 
Instance details

Defined in Data.MonoidMap

Methods

mempty :: MonoidMap k a #

mappend :: MonoidMap k a -> MonoidMap k a -> MonoidMap k a #

mconcat :: [MonoidMap k a] -> MonoidMap k a #

(Ord k, Monoid a, Eq a, Group a) => Group (MonoidMap k a) Source # 
Instance details

Defined in Data.MonoidMap

Methods

negateG :: MonoidMap k a -> MonoidMap k a #

(~~) :: MonoidMap k a -> MonoidMap k a -> MonoidMap k a #

(Ord k, Monoid a, Eq a, Group a, Additive a) => Additive (MonoidMap k a) Source # 
Instance details

Defined in Data.MonoidMap

(Eq (QueryResult q), Ord k, Query q) => Query (MonoidMap k q) Source # 
Instance details

Defined in Data.MonoidMap

Associated Types

type QueryResult (MonoidMap k q) :: Type #

Methods

crop :: MonoidMap k q -> QueryResult (MonoidMap k q) -> QueryResult (MonoidMap k q) #

type QueryResult (MonoidMap k q) Source # 
Instance details

Defined in Data.MonoidMap

monoidMap :: (Ord k, Eq v, Monoid v) => MonoidalMap k v -> MonoidMap k v Source #

Convert a MonoidalMap into a MonoidMap