commutative-semigroups-0.2.0.2: Commutative semigroups

Safe Haskell | Safe-Inferred
Language | Haskell2010

Data.Semigroup.Commutative

Synopsis

- class Semigroup g => Commutative g

# Documentation

class Semigroup g => Commutative g Source #

A `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 Void Source # |
Instance details Defined in Data.Semigroup.Commutative
Commutative All Source # |
Instance details Defined in Data.Semigroup.Commutative
Commutative Any Source # |
Instance details Defined in Data.Semigroup.Commutative
Commutative () Source # | Trivial commutative semigroup.
Instance details Defined in Data.Semigroup.Commutative
Ord a => Commutative (Max a) Source # |
Instance details Defined in Data.Semigroup.Commutative
Ord a => Commutative (Min a) Source # |
Instance details Defined in Data.Semigroup.Commutative
(Commutative a, Monoid a) => Commutative (WrappedMonoid 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 (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
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 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 b => Commutative (a -> b) Source # | Functions lift commutative semigroups pointwise.
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