alg_structs

Interfaces and module combinators for algebraic structures
IN THIS PACKAGE
Module type Alg_structs . Semigroup . S1
include Seed1
type 'a t
val op : 'a t -> 'a t -> 'a t

op x y is an associative operation over all elements x and y of type t

val (*) : 'a t -> 'a t -> 'a t

The infix for op.

val concat : 'a t NonEmptyList.t -> 'a 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).