Selective.Via
module Core : Preface_specs.Selective.CORE
module Operation : Preface_specs.Selective.OPERATION with type 'a t = 'a Core.t
module Infix : Preface_specs.Selective.INFIX with type 'a t = 'a Core.t
module Syntax : Preface_specs.Selective.SYNTAX with type 'a t = 'a Core.t
type 'a t = 'a Core.t
The type held by the 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 Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := 'a t
include Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := 'a t
include Preface_specs.Indexed_apply.WITH_MAP_AND_PRODUCT
with type ('a, 'index) t := 'a t
include Preface_specs.Indexed_functor.WITH_MAP with type ('a, 'index) t := 'a t
include Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := 'a t
val pure : 'a -> 'a t
Lift 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 :
Preface_specs.Indexed_selective.INFIX with type ('a, 'index) t := 'a t
Applicative
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 :
Preface_specs.Indexed_selective.SYNTAX with type ('a, 'index) t := 'a t