Preface_make.ChoiceBuilding a Preface_specs.Choice
Build a Preface_specs.CHOICE using Preface_specs.Choice.WITH_DIMAP_AND_LEFT.
Standard method, using the minimal definition of an alt to derive its full API.
module Via_dimap_and_left
(Req : Preface_specs.Choice.WITH_DIMAP_AND_LEFT) :
Preface_specs.CHOICE with type ('a, 'b) t = ('a, 'b) Req.tBuild a Preface_specs.CHOICE using Preface_specs.Choice.WITH_DIMAP_AND_RIGHT.
Standard method, using the minimal definition of an alt to derive its full API.
module Via_dimap_and_right
(Req : Preface_specs.Choice.WITH_DIMAP_AND_RIGHT) :
Preface_specs.CHOICE with type ('a, 'b) t = ('a, 'b) Req.tBuild a Preface_specs.CHOICE using Preface_specs.Choice.WITH_CONTRAMAP_FST_AND_MAP_SND_AND_LEFT.
Standard method, using the minimal definition of an alt to derive its full API.
module Via_contramap_fst_and_map_snd_and_left
(Req : Preface_specs.Choice.WITH_CONTRAMAP_FST_AND_MAP_SND_AND_LEFT) :
Preface_specs.CHOICE with type ('a, 'b) t = ('a, 'b) Req.tBuild a Preface_specs.CHOICE using Preface_specs.Choice.WITH_CONTRAMAP_FST_AND_MAP_SND_AND_RIGHT.
Standard method, using the minimal definition of an alt to derive its full API.
module Via_contramap_fst_and_map_snd_and_right
(Req : Preface_specs.Choice.WITH_CONTRAMAP_FST_AND_MAP_SND_AND_RIGHT) :
Preface_specs.CHOICE with type ('a, 'b) t = ('a, 'b) Req.tBuild a Preface_specs.CHOICE over a Preface_specs.PROFUNCTOR using Preface_specs.Choice.WITH_LEFT.
Standard method, using the minimal definition of an alt to derive its full API.
module Over_profunctor_via_left
(P : Preface_specs.Profunctor.CORE)
(L : Preface_specs.Choice.WITH_LEFT with type ('a, 'b) t = ('a, 'b) P.t) :
Preface_specs.CHOICE with type ('a, 'b) t = ('a, 'b) L.tBuild a Preface_specs.CHOICE over a Preface_specs.PROFUNCTOR using Preface_specs.Choice.WITH_RIGHT.
Standard method, using the minimal definition of an alt to derive its full API.
module Over_profunctor_via_right
(P : Preface_specs.Profunctor.CORE)
(R : Preface_specs.Choice.WITH_RIGHT with type ('a, 'b) t = ('a, 'b) P.t) :
Preface_specs.CHOICE with type ('a, 'b) t = ('a, 'b) R.tConstruction of Preface_specs.CHOICE by combining them.
Right-to-left composition of Preface_specs.CHOICE.
module Composition
(F : Preface_specs.CHOICE)
(G : Preface_specs.CHOICE) :
sig ... endProduces a Preface_specs.CHOICE from a Preface_specs.APPLICATIVE.
module From_applicative
(Applicative : Preface_specs.Applicative.CORE) :
Preface_specs.CHOICE with type ('a, 'b) t = 'a -> 'b Applicative.t