Semigroup -package:base

The class of semigroups (types with an associative binary operation). Instances should satisfy the following:
  • Associativity x <> (y <> z) = (x <> y) <> z
You can alternatively define sconcat instead of (<>), in which case the laws are:
The class of semigroups (types with an associative binary operation). Instances should satisfy the following:
  • Associativity x <> (y <> z) = (x <> y) <> z
You can alternatively define sconcat instead of (<>), in which case the laws are:
The class of semigroups (types with an associative binary operation). Instances should satisfy the following:
  • Associativity x <> (y <> z) = (x <> y) <> z
You can alternatively define sconcat instead of (<>), in which case the laws are: @since base-4.9.0.0
The class of semigroups (types with an associative binary operation). Instances should satisfy the following:
  • Associativity x <> (y <> z) = (x <> y) <> z
TextShow instances for data types in the Data.Semigroup module. Since: 3
Compatibility layer for Data.Semigroup
Some semigroup instances used in several places
Eliminator functions for data types in Data.Semigroup. All of these are re-exported from Data.Eliminator with the following exceptions:
Not on Stackage, so not searched. A semigroup
This module provides the ability to append two records using (<>), provided that all of their fields have an instance of Semigroup.
Properties to check that the Semigroup a satisfies the semigroup properties. The argument value is ignored and is present only for its type.
A semigroupoid satisfies all of the requirements to be a Category except for the existence of identity arrows.
Category sans id
Category sans id
Convert bijections to and from semigroupoids Iso.