pandora-0.1.8: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Object.Monoid

Synopsis

Documentation

class Semigroup a => Monoid a where Source #

When providing a new instance, you should ensure it satisfies the two laws:
* Right absorption: zero + x ≡ x
* Left absorption: x + zero ≡ x

Methods

zero :: a Source #

Instances
Monoid (Endo a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Endo

Methods

zero :: Endo a Source #

Semigroup a => Monoid (Maybe a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

zero :: Maybe a Source #

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

Defined in Pandora.Paradigm.Basis.Identity

Methods

zero :: Identity a Source #

(Monoid a, forall b. Semigroup b => Monoid (t b)) => Monoid (Twister t a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Twister

Methods

zero :: Twister t a Source #

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

Defined in Pandora.Paradigm.Basis.Product

Methods

zero :: Product a b Source #

Monoid a => Monoid (Tagged tag a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Tagged

Methods

zero :: Tagged tag a Source #

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

Defined in Pandora.Paradigm.Basis.Constant

Methods

zero :: Constant a b Source #

(forall (u' :: k2 -> Type). Monoid ((u' :.: t u') >< a)) => Monoid (UTU Co Co t u a) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.UTU

Methods

zero :: UTU Co Co t u a Source #

Monoid ((u :.: t) >< a) => Monoid (UT Co Co t u a) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.UT

Methods

zero :: UT Co Co t u a Source #