Commit graph

2 commits

Author SHA1 Message Date
pho
eda754ca5a Bump all Haskell packages after enabling "split sections" in mk/haskell.mk 2022-02-26 03:57:43 +00:00
pho
b7028d17d7 math/hs-semirings: import hs-semirings-0.6
Haskellers are usually familiar with monoids and semigroups. A monoid has
an appending operation <> (or mappend), and an identity element, mempty. A
semigroup has an appending <> operation, but does not require a mempty
element.

A Semiring has two appending operations, plus and times, and two respective
identity elements, zero and one.

More formally, a Semiring R is a set equipped with two binary relations +
and *, such that:
- (R,+) is a commutative monoid with identity element 0,
- (R,*) is a monoid with identity element 1,
- (*) left and right distributes over addition, and multiplication by '0'
  annihilates R.
2022-02-16 10:02:14 +00:00