Preface_make.ClosedBuilding a Preface_specs.Closed
Build a Preface_specs.CLOSED using Preface_specs.Closed.WITH_DIMAP_AND_CLOSED.
Standard method, using the minimal definition of an alt to derive its full API.
module Via_dimap_and_closed
(Req : Preface_specs.Closed.WITH_DIMAP_AND_CLOSED) :
Preface_specs.CLOSED with type ('a, 'b) t = ('a, 'b) Req.tBuild a Preface_specs.CLOSED using Preface_specs.Closed.WITH_CONTRAMAP_FST_AND_MAP_SND_AND_CLOSED.
Standard method, using the minimal definition of an alt to derive its full API.
module Via_contramap_fst_and_map_snd_and_closed
(Req : Preface_specs.Closed.WITH_CONTRAMAP_FST_AND_MAP_SND_AND_CLOSED) :
Preface_specs.CLOSED with type ('a, 'b) t = ('a, 'b) Req.tBuild a Preface_specs.CLOSED over a Preface_specs.PROFUNCTOR using Preface_specs.Closed.WITH_CLOSED.
Standard method, using the minimal definition of an alt to derive its full API.
module Over_profunctor_via_closed
(P : Preface_specs.Profunctor.CORE)
(C : Preface_specs.Closed.WITH_CLOSED with type ('a, 'b) t = ('a, 'b) P.t) :
Preface_specs.CLOSED with type ('a, 'b) t = ('a, 'b) C.tConstruction of Preface_specs.CLOSED by combining them.
Right-to-left composition of Preface_specs.CLOSED.
module Composition
(F : Preface_specs.CLOSED)
(G : Preface_specs.CLOSED) :
sig ... endAdvanced way to build a Preface_specs.CLOSED, constructing and assembling a component-by-component of Preface_specs.CLOSED. (In order to provide your own implementation for some features.)
module Via
(Core : Preface_specs.Closed.CORE)
(Operation :
Preface_specs.Closed.OPERATION with type ('a, 'b) t = ('a, 'b) Core.t) :
Preface_specs.CLOSED with type ('a, 'b) t = ('a, 'b) Operation.tmodule Core_via_dimap_and_closed
(Req : Preface_specs.Closed.WITH_DIMAP_AND_CLOSED) :
Preface_specs.Closed.CORE with type ('a, 'b) t = ('a, 'b) Req.tmodule Core_via_contramap_fst_and_map_snd_and_closed
(Req : Preface_specs.Closed.WITH_CONTRAMAP_FST_AND_MAP_SND_AND_CLOSED) :
Preface_specs.Closed.CORE with type ('a, 'b) t = ('a, 'b) Req.tmodule Operation
(Core : Preface_specs.Closed.CORE) :
Preface_specs.Closed.OPERATION with type ('a, 'b) t = ('a, 'b) Core.t