Preface_specs.Indexed_selectiveAn 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 ... endMinimal definition using select without Indexed_applicative requirements.
module type WITH_BRANCH = sig ... endMinimal definition using branch without Applicative requirements.
module type WITH_PURE_AND_SELECT = sig ... endStandard requirement including pure and select.
module type WITH_PURE_AND_BRANCH = sig ... endStandard requirement including pure and branch.
module type CORE = sig ... endBasis operation.
module type OPERATION = sig ... endAdditional operations.
module type SYNTAX = sig ... endSyntax extensions.
module type INFIX = sig ... endInfix operators.
module type API = sig ... endThe complete interface of an Index Selective.