semirings: 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.
[Skip to Readme]
Modules
[Index] [Quick Jump]
Flags
Manual Flags
Name | Description | Default |
---|---|---|
containers | You can disable the use of the Disabling this may be useful for accelerating builds in sandboxes for expert users. | Enabled |
unordered-containers | You can disable the use of the `unordered-containers` package using `-f-unordered-containers`. Disabling this may be useful for accelerating builds in sandboxes for expert users. | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- semirings-0.6.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.0.0, 0.1.0, 0.1.1, 0.1.2, 0.1.3.0, 0.2.0.0, 0.2.0.1, 0.2.1.0, 0.2.1.1, 0.3.0.0, 0.3.1.0, 0.3.1.1, 0.3.1.2, 0.4, 0.4.1, 0.4.2, 0.5, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.6, 0.7 |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.8 && <5), base-compat-batteries, containers (>=0.5.4 && <0.8), hashable (>=1.1 && <1.5), template-haskell (>=2.4.0.0), unordered-containers (>=0.2 && <0.3) [details] |
Tested with | ghc ==7.10.3, ghc ==8.0.2, ghc ==8.2.2, ghc ==8.4.4, ghc ==8.6.5, ghc ==8.8.4, ghc ==8.10.2 |
License | BSD-3-Clause |
Copyright | Copyright (C) 2018 chessai |
Author | chessai |
Maintainer | chessai <chessai1996@gmail.com> |
Revised | Revision 2 made by chessai at 2024-05-21T18:31:11Z |
Category | Algebra, Data, Data Structures, Math, Maths, Mathematics |
Home page | http://github.com/chessai/semirings |
Bug tracker | http://github.com/chessai/semirings/issues |
Source repo | head: git clone git://github.com/chessai/semirings.git |
Uploaded | by chessai at 2021-01-07T14:25:12Z |
Distributions | Arch:0.6, LTSHaskell:0.7, NixOS:0.6, Stackage:0.7 |
Reverse Dependencies | 18 direct, 8063 indirect [details] |
Downloads | 22402 total (7 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |