package alg_structs

  1. Overview
  2. Docs

The Seed needed to generate an implementation of Monoid for the type t

include Semigroup.Seed
type t

The principle (and sole) type.

We can think of this set-theoretically as the carrier set of the algebraic structure or category-theoretically as the single object in the category, with each element being a morphism t -> t.

val op : t -> t -> t

op x y is an associative operation over all elements x and y of type t. Category-theoretically, this is the composition of morphisms.

val unit : t

unit is the identity element in the monoid over t.

Every implementation must ensure that for any x : t, unit is the identity element under op, thus that the equation (x * unit) = (unit * x) = x holds.


Innovation. Community. Security.