Preface_specs.Semigroup
A Semigroup
is a type t
which provides a binary associative operation combine
which lets you combine any two values of t
into one.
To ensure that the derived combiners work properly, the combine
function must comply with the following laws:
combine (combine a b) c = combine a (combine b c)
module type WITH_COMBINE = sig ... end
The minimum definition of a Semigroup
. It is by using the combinators of this module that the other combinators will be derived.
module type CORE = WITH_COMBINE
Basis operations.
module type OPERATION = sig ... end
Additional operations.
module type INFIX = sig ... end
Infix operators.
module type API = sig ... end
The complete interface of a Semigroup
.