algebra-0.4.0: Constructive abstract algebra

Numeric.Semigroup.Additive

Contents

Synopsis

Additive Semigroups

class Additive r whereSource

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

Methods

(+) :: r -> r -> rSource

replicate1p :: Whole n => n -> r -> rSource

replicate1p n r = replicate (1 + n) r

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

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