jonathanfishbein1 / numeric-typeclasses / CommutativeSemigroup

Commutative Semigroup typeclass definition and its instances for basic types.

Definition


type CommutativeSemigroup a
    = CommutativeSemigroup (Semigroup a)

Explicit typeclass which implements semigroup operations for type a when the operation is commutative.

Instances

numberProduct : CommutativeSemigroup number

Construct an instance for any type which satisfies Elm's number magic constraint. Implements multiplication.

intProduct : CommutativeSemigroup Basics.Int

Instance for integers under the multiplication operation.

numberSum : CommutativeSemigroup number

Construct an instance for any type which satisfies Elm's number magic constraint. Implements sum.

intSum : CommutativeSemigroup Basics.Int

Instance for integers under the sum operation.

setUnion : CommutativeSemigroup (Set comparable)

Instance for set under the union operation.

setIntersection : CommutativeSemigroup (Set comparable)

Instance for set under the intersection operation.

and : CommutativeSemigroup Basics.Bool

Instance for and

or : CommutativeSemigroup Basics.Bool

Instance for or

unit : CommutativeSemigroup ()

Instance for trivial semigroup

xor : CommutativeSemigroup Basics.Bool

Instance for xor

modularArithmetic : Basics.Int -> CommutativeSemigroup Basics.Int

Instance for modularArithmetic semigroup