Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
The Alg.Semigroup.S
interface extended with a way of generating arbitrary QCheck
values.
include Alg.Semigroup.S
include Alg_structs.Semigroup.Seed
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 concat : t Alg_structs.NonEmptyList.t -> t
concat xs
is the concatenation of all elements of xs
into a single value using op
.
This is equivalent to List.fold_right op (NonEmptyList.tl xs)
(NonEmptyList.hd xs)
.
val arbitrary : t QCheck.arbitrary