commutative-semigroups-0.1.0.2: Commutative semigroups
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Semigroup.Commutative

Synopsis

Documentation

class Semigroup g => Commutative g Source #

An Commutative semigroup is a Semigroup that follows the rule:

a <> b == b <> a

Instances

Instances details
Commutative IntSet Source #

Since: 0.0.2.0

Instance details

Defined in Data.Semigroup.Commutative

Commutative () Source #

Trivial commutative semigroup.

Instance details

Defined in Data.Semigroup.Commutative

Commutative a => Commutative (Identity a) Source #

Identity lifts commutative semigroups pointwise (at only one point).

Instance details

Defined in Data.Semigroup.Commutative

Commutative a => Commutative (Down a) Source # 
Instance details

Defined in Data.Semigroup.Commutative

Commutative a => Commutative (Dual a) Source # 
Instance details

Defined in Data.Semigroup.Commutative

CommutativeProduct a => Commutative (Product a) Source # 
Instance details

Defined in Data.Semigroup.Commutative

Num a => Commutative (Sum a) Source # 
Instance details

Defined in Data.Semigroup.Commutative

Ord a => Commutative (Set a) Source #

Since: 0.0.2.0

Instance details

Defined in Data.Semigroup.Commutative

Commutative a => Commutative (Maybe a) Source #

Since: 0.0.1.0

Instance details

Defined in Data.Semigroup.Commutative

Commutative a => Commutative (Op a b) Source # 
Instance details

Defined in Data.Semigroup.Commutative

Commutative (Proxy x) Source #

Trivial commutative semigroup, Functor style.

Instance details

Defined in Data.Semigroup.Commutative

Commutative b => Commutative (a -> b) Source #

Functions lift commutative semigroups pointwise.

Instance details

Defined in Data.Semigroup.Commutative

(Commutative a, Commutative b) => Commutative (a, b) Source #

Product commutative semigroup. A Pair of commutative semigroups gives rise to a commutative semigroup

Instance details

Defined in Data.Semigroup.Commutative

Commutative a => Commutative (Const a x) Source #

Const lifts commutative semigroups into a functor.

Instance details

Defined in Data.Semigroup.Commutative

(Commutative a, Commutative b, Commutative c) => Commutative (a, b, c) Source # 
Instance details

Defined in Data.Semigroup.Commutative

(Commutative (f a), Commutative (g a)) => Commutative ((f :*: g) a) Source #

Product of commutative semigroups, Functor style.

Instance details

Defined in Data.Semigroup.Commutative

(Commutative a, Commutative b, Commutative c, Commutative d) => Commutative (a, b, c, d) Source # 
Instance details

Defined in Data.Semigroup.Commutative

Commutative (f (g a)) => Commutative ((f :.: g) a) Source # 
Instance details

Defined in Data.Semigroup.Commutative

(Commutative a, Commutative b, Commutative c, Commutative d, Commutative e) => Commutative (a, b, c, d, e) Source # 
Instance details

Defined in Data.Semigroup.Commutative