linear-base-0.1.0: Standard library for linear types.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Monoid.Linear.Internal.Monoid

Description

This module provides linear versions of Monoid.

To learn about how these classic monoids work, go to this school of haskell post.

Synopsis

Monoid operations

class (Semigroup a, Monoid a) => Monoid a where Source #

A linear monoid is a linear semigroup with an identity on the binary operation.

Minimal complete definition

Nothing

Methods

mempty :: a Source #

Instances

Instances details
Monoid Ordering Source # 
Instance details

Defined in Data.Monoid.Linear.Internal.Monoid

Monoid a => Monoid (Dual a) Source # 
Instance details

Defined in Data.Monoid.Linear.Internal.Monoid

Methods

mempty :: Dual a Source #

Monoid (Endo a) Source # 
Instance details

Defined in Data.Monoid.Linear.Internal.Monoid

Methods

mempty :: Endo a Source #

(Movable a, Monoid a) => Monoid (MovableMonoid a) Source # 
Instance details

Defined in Data.Unrestricted.Internal.Instances

MultIdentity a => Monoid (Multiplying a) Source # 
Instance details

Defined in Data.Num.Linear

AddIdentity a => Monoid (Adding a) Source # 
Instance details

Defined in Data.Num.Linear

Methods

mempty :: Adding a Source #

Monoid (Array a) Source # 
Instance details

Defined in Data.Array.Polarized.Push

Methods

mempty :: Array a Source #

(Monoid a, Monoid b) => Monoid (a, b) Source # 
Instance details

Defined in Data.Monoid.Linear.Internal.Monoid

Methods

mempty :: (a, b) Source #

mconcat :: Monoid a => [a] %1 -> a Source #

Orphan instances

Monoid (Endo a) Source # 
Instance details

Methods

mempty :: Endo a #

mappend :: Endo a -> Endo a -> Endo a #

mconcat :: [Endo a] -> Endo a #