Semirings (rings without additive inverses, http://en.wikipedia.org/wiki/Semiring) are
a commonly used structure for performing computations over finite state machines,
parsers, and other dynamic programmy-systems. This library extends the basic structures
defined for Monoids to Semirings and includes implementations of the major semirings
This work is based largely on Semiring Parsing by Joshua Goodman. (http://www.ldc.upenn.edu/acl/J/J99/J99-4004.pdf)
which describes many of the interesting parsing semirings.
|Multiplicative (one, times)|
|Monoid (mempty, mappend, mconcat)|
|A Semiring is made up of an additive Monoid and a Multiplicative.
It must also satisfy several other algebraic properties checked by quickcheck.
|A WeightedSemiring also includes a sensical ordering over choices.
i.e. out of two choices which is better. This is used for Viterbi selection.
|newtype Weighted semi1 semi2 ||Source|
The Weighted type is the main type of WeightedSemiring.
It combines scoring semiring with a history semiring.
The best example of this is the ViterbiDerivation semiring.
|Produced by Haddock version 2.4.2|