Freer_selective.APIThe complete interface of a Freer selective.
The 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 : Selective.API) :
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 : Monoid.CORE) :
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.
select e f apply f if e is Left. It allow to skip effect using Right.
branch is like select. It chooses between two effects.
include Indexed_applicative.WITH_PURE with type ('a, 'index) t := 'a tinclude Indexed_applicative.WITH_PURE with type ('a, 'index) t := 'a tinclude Indexed_apply.WITH_MAP_AND_PRODUCT with type ('a, 'index) t := 'a tinclude Indexed_functor.WITH_MAP with type ('a, 'index) t := 'a tinclude Indexed_applicative.WITH_PURE with type ('a, 'index) t := 'a tval pure : 'a -> 'a tLift a value from 'a into a new t.
Lift a ternary function that acts on arbitrary values into a function that acts t values.
Create a new t, replacing all values of the given functor by given a value of 'a.
module Infix : Indexed_selective.INFIX with type ('a, 'index) t := 'a tApplicative functor of ('a -> 'b) t over ('a, 'index) t to ('b, 'index) t.
Flipped Applicative functor of ('a -> 'b) t over ('a, 'index) t to ('b, 'index) t.
Infix version of CORE.map.
Flipped and infix version of CORE.map.
Flipped and infix version of OPERATION.replace.
module Syntax : Indexed_selective.SYNTAX with type ('a, 'index) t := 'a t