package alg_structs

  1. Overview
  2. Docs

Dual allows constructing the dual semigroup for a given semigroup. I.e., a semigroup with the arguments of it's operator reversed.

module Make (S : S) : S with type t = S.t

Make (S) is S except that S.op is defined as Fun.flip S.op.

val make : ('a -> 'a -> 'a) -> (module S with type t = 'a)

make op is Semigroup.make (Fun.flip op).