pandora-0.2.3: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Object.Ringoid

Synopsis

Documentation

class Semigroup a => Ringoid a where Source #

When providing a new instance, you should ensure it satisfies the two laws:
* Left distributivity: x * (y + z) ≡ x * y + x * z
* Right distributivity: (y + z) * x ≡ y * x + z * x

Methods

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

Instances
Ringoid a => Ringoid (Identity a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Identity

Methods

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

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

Defined in Pandora.Paradigm.Basis.Product

Methods

(*) :: Product a b -> Product a b -> Product a b Source #

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

Defined in Pandora.Paradigm.Basis.Tagged

Methods

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

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

Defined in Pandora.Paradigm.Basis.Constant

Methods

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