pandora-0.3.4: A box of patterns and paradigms
Safe HaskellSafe-Inferred
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 infixl 7 Source #

Instances

Instances details
Ringoid Boolean Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Object.Boolean

Methods

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

Ringoid Natural Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Object.Natural

Methods

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

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

Defined in Pandora.Paradigm.Primary.Functor.Identity

Methods

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

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

Defined in Pandora.Paradigm.Primary.Functor.Delta

Methods

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

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

Defined in Pandora.Paradigm.Primary.Functor.Product

Methods

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

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

Defined in Pandora.Paradigm.Primary.Functor.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.Primary.Functor.Constant

Methods

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