jonathanfishbein1 / numeric-typeclasses / Semiring

Semiring typeclass definition and its instances for basic types.

Definition


type alias Semiring a =
{ addition : CommutativeMonoid a
, multiplication : Monoid a 
}

Explicit typeclass which implements group operations for type a.

number : Semiring number

Construct real number ring

trivial : Semiring ()

Construct trivial ring

exclusiveOr : Semiring Basics.Bool

Construct exclusive all ring