Binary package “libghc-semirings-dev” in ubuntu noble

two monoids as one, in holy haskimony

 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.
 .
 This package provides a library for the Haskell programming language.
 See http://www.haskell.org/ for more information on Haskell.