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

Pandora.Pattern.Object.Semigroup

Synopsis

Documentation

class Semigroup a where Source #

When providing a new instance, you should ensure it satisfies the one law:
* Associativity: x + (y + z) ≡ (x + y) + z

Methods

(+) :: a -> a -> a infixl 6 Source #

Instances

Instances details
Semigroup Boolean Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Object.Boolean

Methods

(+) :: Boolean -> Boolean -> Boolean Source #

Semigroup Denumerator Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Object.Denumerator

Semigroup Numerator Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Object.Numerator

Semigroup (Endo a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Endo

Methods

(+) :: Endo a -> Endo a -> Endo a Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Identity

Methods

(+) :: Identity a -> Identity a -> Identity a Source #

Semigroup a => Semigroup (Delta a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Delta

Methods

(+) :: Delta a -> Delta a -> Delta a Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

(+) :: Maybe a -> Maybe a -> Maybe a Source #

Semigroup (Stack a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

(+) :: Stack a -> Stack a -> Stack a Source #

(Semigroup e, Semigroup a) => Semigroup (Validation e a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Validation

Methods

(+) :: Validation e a -> Validation e a -> Validation e a Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Product

Methods

(+) :: (s :*: a) -> (s :*: a) -> s :*: a Source #

(Semigroup a, forall b. Semigroup b => Semigroup (t b), Covariant t) => Semigroup (Construction t a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(+) :: Construction t a -> Construction t a -> Construction t a Source #

(Semigroup e, Semigroup a) => Semigroup (Conclusion e a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

(+) :: Conclusion e a -> Conclusion e a -> Conclusion e a Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Tagged

Methods

(+) :: Tagged tag a -> Tagged tag a -> Tagged tag a Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Constant

Methods

(+) :: Constant a b -> Constant a b -> Constant a b Source #