Module Preface_make.Profunctor

Building a Preface_specs.Profunctor

Using the minimal definition

Using dimap

Build a Preface_specs.PROFUNCTOR using Preface_specs.Profunctor.WITH_DIMAP.

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

Using contramap_fst and map_snd

Build a Preface_specs.PROFUNCTOR using Preface_specs.Profunctor.WITH_CONTRAMAP_FST_AND_MAP_SND.

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

Profunctor Algebra

Construction of Preface_specs.PROFUNCTOR by combining them.

Composition

Right-to-left composition of Preface_specs.PROFUNCTOR.

From other abstraction

From a Functor

Produces a Preface_specs.PROFUNCTOR from a Preface_specs.FUNCTOR.

From a Strong profunctor

Produces a Preface_specs.PROFUNCTOR from a Preface_specs.STRONG.

module From_strong (Strong : Preface_specs.STRONG) : Preface_specs.PROFUNCTOR with type ('a, 'b) t = ('a, 'b) Strong.t

From a Choice profunctor

Produces a Preface_specs.PROFUNCTOR from a Preface_specs.CHOICE.

module From_choice (Choice : Preface_specs.CHOICE) : Preface_specs.PROFUNCTOR with type ('a, 'b) t = ('a, 'b) Choice.t

From a Closed profunctor

Produces a Preface_specs.PROFUNCTOR from a Preface_specs.CLOSED.

module From_closed (Closed : Preface_specs.CLOSED) : Preface_specs.PROFUNCTOR with type ('a, 'b) t = ('a, 'b) Closed.t

Manual construction

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

Building Core