Module Preface_make.Semigroupoid

Building a Preface_specs.Semigroupoid

Using the minimal definition

Build a Preface_specs.SEMIGROUPOID using Preface_specs.Semigroupoid.WITH_COMPOSE.

Standard method, using the minimal definition of an alt to derive its full API.

Semigroupoid Algebra

Construction of Preface_specs.SEMIGROUPOID by combining them.

Product

Construct the product of two Preface_specs.SEMIGROUPOID.

module Product (F : Preface_specs.SEMIGROUPOID) (G : Preface_specs.SEMIGROUPOID) : Preface_specs.SEMIGROUPOID with type ('a, 'b) t = ('a, 'b) F.t * ('a, 'b) G.t

From other abstraction

From a Monad

Produces a Preface_specs.SEMIGROUPOID from a Preface_specs.MONAD.

Manual construction

Advanced way to build a Preface_specs.SEMIGROUPOID, constructing and assembling a component-by-component of Preface_specs.SEMIGROUPOID. (In order to provide your own implementation for some features.)

Grouping of all components

module Via (Core : Preface_specs.Semigroupoid.CORE) (Operation : Preface_specs.Semigroupoid.OPERATION with type ('a, 'b) t = ('a, 'b) Core.t) (Infix : Preface_specs.Semigroupoid.INFIX with type ('a, 'b) t = ('a, 'b) Operation.t) : Preface_specs.SEMIGROUPOID with type ('a, 'b) t = ('a, 'b) Infix.t

Building Core

Deriving Operation

Deriving Infix