./math/hs-semirings, Two monoids as one, in holy haskimony

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.6nb5, Package name: hs-semirings-0.6nb5, Maintainer: pkgsrc-users

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.


Master sites:

Filesize: 19.18 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141)
Log message:
Revbump all Haskell after updating lang/ghc96
   2023-10-29 08:08:57 by Masatake Daimon | Files touched by this commit (1)
Log message:
math/hs-semirings: Fix build with GHC 9.6
   2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988)
Log message:
Bump Haskell packages after updating lang/ghc94
   2023-01-25 18:35:14 by Masatake Daimon | Files touched by this commit (4)
Log message:
math/hs-semirings: Fix build with hashable-1.4
   2022-02-26 04:58:36 by Masatake Daimon | Files touched by this commit (872)
Log message:
Bump all Haskell packages after enabling "split sections" in mk/haskell.mk
   2022-02-16 11:02:14 by Masatake Daimon | Files touched by this commit (6)
Log message:
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.