Freer_selective.Overmodule T : Preface_specs.Types.T1type 'a f = 'a T.tThe parametric type (which, unlike a Preface_specs.Free_selective don't need to be a Preface_specs.Functor).
The type held by the Freer selective.
Promote a value from the Preface_specs.Functor into the Freer selective.
module To_selective
(Selective : Preface_specs.Selective.API) :
Preface_specs.Freer_selective.TO_SELECTIVE
with type 'a t := 'a t
and type 'a f := 'a f
and type 'a selective := 'a Selective.tThe natural transformation from a Freer selective to an other Preface_specs.Selective.
module To_monoid
(Monoid : Preface_specs.Monoid.CORE) :
Preface_specs.Freer_selective.TO_MONOID
with type 'a t := 'a t
and type 'a f := 'a f
and type monoid := Monoid.tThe natural transformation from a Freer selective to a Preface_specs.Monoid.
A Freer selective is also a Preface_specs.Selective.
val select : ('a, 'b) Preface_core.Shims.Either.t t -> ('a -> 'b) t -> 'b tselect e f apply f if e is Left. It allow to skip effect using Right.
val branch :
('a, 'b) Preface_core.Shims.Either.t t ->
('a -> 'c) t ->
('b -> 'c) t ->
'c tbranch is like select. It chooses between two effects.
include Preface_specs.Applicative.WITH_PURE with type 'a t := 'a tinclude Preface_specs.Applicative.WITH_PURE with type 'a t := 'a tinclude Preface_specs.Apply.WITH_MAP_AND_PRODUCT with type 'a t := 'a tinclude Preface_specs.Functor.WITH_MAP with type 'a t := 'a tinclude Preface_specs.Applicative.WITH_PURE with type 'a t := 'a tval pure : 'a -> 'a tLift a value from 'a into a new 'a t.
Create a new 'a t, replacing all values in the 'b t by given a value of 'a.
module Infix : Preface_specs.Selective.INFIX with type 'a t = 'a tinclude Preface_specs.Apply.INFIX with type 'a t := 'a tFlipped Applicative functor of ('a -> 'b) t over 'a t to 'b t.
Infix version of Preface_specs.Functor.CORE.map.
Flipped and infix version of Preface_specs.Functor.CORE.map.
Infix version of Preface_specs.Functor.OPERATION.replace.
Flipped and infix version of Preface_specs.Functor.OPERATION.replace.
val (<*?) : ('a, 'b) Preface_core.Shims.Either.t t -> ('a -> 'b) t -> 'b tInfix version of CORE.select.
module Syntax : Preface_specs.Selective.SYNTAX with type 'a t = 'a t