Module Preface_make.Bind

Building a Preface_specs.Bind

Using the minimal definition

Using map and bind

Build a Preface_specs.Bind using Preface_specs.Bind.WITH_RETURN_AND_BIND.

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

Using bind over functor

Build a Preface_specs.BIND using Preface_specs.Functor.WITH_MAP and Preface_specs.Bind.WITH_BIND.

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

Using return, map and join

Build a Preface_specs.BIND using Preface_specs.Bind.WITH_RETURN_MAP_AND_JOIN.

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

Using return and the kleisli composition

Build a Preface_specs.BIND using Preface_specs.Bind.WITH_RETURN_AND_KLEISLI_COMPOSITION.

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

Using kleisli composition over functor

Build a Preface_specs.BIND using Preface_specs.Functor.WITH_MAP and Preface_specs.Bind.WITH_KLEISLI_COMPOSITION.

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

Bind Algebra

Construction of Preface_specs.BIND by combining them.

Product

Construct the product of two Preface_specs.BIND.

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

From other abstraction

From a Monad

Produces a Preface_specs.BIND from an Preface_specs.MONAD.

From a Monad plus

Produces a Preface_specs.BIND from an Preface_specs.MONAD_PLUS.

From an Arrow Apply

Produces a Preface_specs.BIND from an Preface_specs.ARROW_APPLY.

module From_arrow_apply (A : Preface_specs.ARROW_APPLY) : Preface_specs.BIND with type 'a t = (unit, 'a) A.t

To other abstraction

To an Indexed Bind

module Index (F : Preface_specs.BIND) : Preface_specs.INDEXED_BIND with type ('a, 'index) t = 'a F.t

Manual construction

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

Grouping of all components

Building Core

Deriving Operation

Deriving Syntax

Deriving Infix