packages feed

semiring-num 0.5.3.0 → 0.5.3.1

raw patch · 2 files changed

+13/−10 lines, 2 files

Files

semiring-num.cabal view
@@ -1,5 +1,5 @@ name:                semiring-num-version:             0.5.3.0+version:             0.5.3.1 synopsis:            Basic semiring class and instances description:         Adds a basic semiring class homepage:            https://github.com/oisdk/semiring-num
src/Data/Semiring.hs view
@@ -62,21 +62,22 @@ -- and it must distribute over '<+>'. -- -- = Laws--- == Normal 'Precursor.Algebra.Monoid.Monoid' laws--- * @(a '<+>' b) '<+>' c = a '<+>' (b '<+>' c)@--- * @'zero' '<+>' a = a '<+>' 'zero' = a@--- * @(a '<.>' b) '<.>' c = a '<.>' (b '<.>' c)@--- * @'one' '<.>' a = a '<.>' 'one' = a@+-- == Normal 'Monoid' laws --+-- @(a '<+>' b) '<+>' c = a '<+>' (b '<+>' c)+--'zero' '<+>' a = a '<+>' 'zero' = a+--(a '<.>' b) '<.>' c = a '<.>' (b '<.>' c)+--'one' '<.>' a = a '<.>' 'one' = a@+-- -- == Commutativity of '<+>'--- * @a '<+>' b = b '<+>' a@+-- @a '<+>' b = b '<+>' a@ -- -- == Distribution of '<.>' over '<+>'--- * @a '<.>' (b '<+>' c) = (a '<.>' b) '<+>' (a '<.>' c)@--- * @(a '<+>' b) '<.>' c = (a '<.>' c) '<+>' (b '<.>' c)@+-- @a '<.>' (b '<+>' c) = (a '<.>' b) '<+>' (a '<.>' c)+--(a '<+>' b) '<.>' c = (a '<.>' c) '<+>' (b '<.>' c)@ -- -- == Annihilation--- * @'zero' '<.>' a = a '<.>' 'zero' = 'zero'@+-- @'zero' '<.>' a = a '<.>' 'zero' = 'zero'@ class Semiring a where   -- | The identity of '<+>'.   zero :: a@@ -234,6 +235,7 @@  -- | Takes the sum of the elements of a 'Foldable'. Analogous to 'sum' -- on numbers, or 'or' on 'Bool's.+-- -- >>> add [1..5] -- 15 -- >>> add [False, False]@@ -247,6 +249,7 @@  -- | Takes the product of the elements of a 'Foldable'. Analogous to -- 'product' on numbers, or 'and' on 'Bool's.+-- -- >>> mul [1..5] -- 120 -- >>> mul [True, True]