algebra-4.2: Constructive abstract algebra

Safe HaskellSafe-Inferred
LanguageHaskell98

Numeric.Additive.Class

Contents

Synopsis

Additive Semigroups

class Additive r where Source

(a + b) + c = a + (b + c)
sinnum 1 a = a
sinnum (2 * n) a = sinnum n a + sinnum n a
sinnum (2 * n + 1) a = sinnum n a + sinnum n a + a

Minimal complete definition

(+)

Methods

(+) :: r -> r -> r infixl 6 Source

sinnum1p :: Natural -> r -> r Source

sinnum1p n r = sinnum (1 + n) r

sumWith1 :: Foldable1 f => (a -> r) -> f a -> r Source

sum1 :: (Foldable1 f, Additive r) => f r -> r Source

Additive Abelian semigroups

class Additive r => Abelian r Source

an additive abelian semigroup

a + b = b + a

Additive Monoids

class Additive r => Idempotent r Source

An additive semigroup with idempotent addition.

a + a = a

Partitionable semigroups