pandora-0.4.9: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Pattern.Object.Monoid

Synopsis

Documentation

class Semigroup a => Monoid a where Source #

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

Methods

zero :: a Source #

Instances

Instances details
Monoid Boolean Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Object.Boolean

Methods

zero :: Boolean Source #

Monoid Numerator Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Object.Numerator

Monoid (Endo a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Endo

Methods

zero :: Endo a Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Wye

Methods

zero :: Wye a Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Identity

Methods

zero :: Identity a Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

zero :: Maybe a Source #

Monoid (List a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Methods

zero :: List a Source #

(Monoid s, Monoid a) => Monoid (s :*: a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic.Product

Methods

zero :: s :*: a Source #

(Monoid a, forall b. Semigroup b => Monoid (t b), Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Semimonoidal (<--) (:*:) (:*:) t) => Monoid (Construction t a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

zero :: Construction t a Source #

Monoid ((t <::> Construction t) := a) => Monoid (Comprehension t a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Modification.Comprehension

Methods

zero :: Comprehension t a Source #

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

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

zero :: Vector a a Source #

(Monoid a, Monoid r, Monoid (a :*: r), Monoid (Vector r a)) => Monoid (Vector (a :*: r) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

zero :: Vector (a :*: r) a Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Constant

Methods

zero :: Constant a b Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Tagged

Methods

zero :: Tagged tag a Source #

(Monoid a, Monoid (Vector i a), Monoid (Vector i (Vector j a))) => Monoid (Matrix i j a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Matrix

Methods

zero :: Matrix i j a Source #