-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Monoid type classes, designed in modular way, distinguish Monoid from Mempty and Semigroup. This design allows mempty operation don't bring Semigroups related constraints until (<>) is used. -- -- Monoid type classes, designed in modular way, distinguish Monoid from -- Mempty and Semigroup. This design allows mempty operation don't bring -- Semigroups related constraints until (<>) is used. @package monoid @version 0.1.8 module Data.Monoids class Mempty a mempty :: Mempty a => a mempty :: (Mempty a, Monoid a) => a mappend :: Semigroup a => a -> a -> a mappendWith :: Semigroup a => a -> a -> a -> a mappendBetween :: Semigroup a => a -> a -> a -> a class (Mempty a, Semigroup a) => Monoid a mconcat :: Monoid a => [a] -> a mconcat' :: (Foldable t, Monoid a) => t a -> a intersperse :: Foldable f => a -> f a -> [a] intercalate :: (Monoid a, Foldable f) => a -> f a -> a intercalate' :: Monoid a => a -> [a] -> a instance (Data.Monoids.Mempty a, Data.Semigroup.Semigroup a) => Data.Monoids.Monoid a instance GHC.Base.Monoid a => Data.Monoids.Mempty a instance Data.Monoids.Mempty [a] instance Data.Monoids.Mempty (GHC.Base.Maybe a) instance Data.Monoids.Mempty (Data.Map.Internal.Map k a)