Preface_specs.Indexed_selective
An Indexed Selective
(applicative functor) allows to declare effects statically and select which execute dynamically. It is an algebraic structure between Indexed_applicative
and Indexed_monad
. An Indexed_selective
is also an Indexed_applicative
.
module type WITH_SELECT = sig ... end
Minimal definition using select
without Indexed_applicative
requirements.
module type WITH_BRANCH = sig ... end
Minimal definition using branch
without Applicative
requirements.
module type WITH_PURE_AND_SELECT = sig ... end
Standard requirement including pure
and select
.
module type WITH_PURE_AND_BRANCH = sig ... end
Standard requirement including pure
and branch
.
module type CORE = sig ... end
Basis operation.
module type OPERATION = sig ... end
Additional operations.
module type SYNTAX = sig ... end
Syntax extensions.
module type INFIX = sig ... end
Infix operators.
module type API = sig ... end
The complete interface of an Index Selective
.