pandora-0.2.0: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Object.Group

Synopsis

Documentation

class Monoid a => Group a where Source #

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

Methods

inverse :: a -> a Source #

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

Defined in Pandora.Paradigm.Basis.Identity

Methods

inverse :: Identity a -> Identity a Source #

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

Defined in Pandora.Paradigm.Basis.Product

Methods

inverse :: Product a b -> Product a b Source #

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

Defined in Pandora.Paradigm.Basis.Tagged

Methods

inverse :: Tagged tag a -> Tagged tag a Source #

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

Defined in Pandora.Paradigm.Basis.Constant

Methods

inverse :: Constant a b -> Constant a b Source #