package preface
Module Result.Selective
Type
type ('a, 'b) t = ('a, 'b) tThe type held by the Indexed Selective.
Functions
select e f apply f if e is Left. It allow to skip effect using Right.
val branch :
(('a, 'b) Either.t, 'index) t ->
('a -> 'c, 'index) t ->
('b -> 'c, 'index) t ->
('c, 'index) tbranch is like select. It chooses between two effects.
include Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := ('a, 'index) t
include Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := ('a, 'index) t
include Preface_specs.Indexed_apply.WITH_MAP_AND_PRODUCT
with type ('a, 'index) t := ('a, 'index) t
include Preface_specs.Indexed_functor.WITH_MAP
with type ('a, 'index) t := ('a, 'index) t
include Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := ('a, 'index) t
val pure : 'a -> ('a, 'index) tLift a value from 'a into a new t.
val lift3 :
('a -> 'b -> 'c -> 'd) ->
('a, 'index) t ->
('b, 'index) t ->
('c, 'index) t ->
('d, 'index) tLift 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.
Create a new t, replacing all values in the given functor by unit.
Same of branch but using a Boolean as disjunction.
Monad bind specialized for Boolean.
Conditionally perform an effect.
Selective version of List.exists.
Selective version of List.for_all.
Keep checking an effectful condition while it holds.
Infix operators
module Infix :
Preface_specs.Indexed_selective.INFIX
with type ('a, 'index) t := ('a, 'index) 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.
Discard the value of the first argument.
Discard the value of the second argument.
Infix version of CORE.map.
Flipped and infix version of CORE.map.
Flipped and infix version of OPERATION.replace.
Infix version of CORE.select.
Syntax
module Syntax :
Preface_specs.Indexed_selective.SYNTAX
with type ('a, 'index) t := ('a, 'index) t