haskell@gentoo.org
Gentoo Haskell
Haskell 98 semigroups
In mathematics, a semigroup is an algebraic structure
consisting of a set together with an associative binary
operation. A semigroup generalizes a monoid in that there
might not exist an identity element. It also (originally)
generalized a group (a monoid with all inverses) to a type
where every element did not have to have an inverse, thus the
name semigroup.
ekmett/semigroups