Module Preface_specs.Indexed_monad

An Indexed Monad allow to sequences operations that are dependent from one to another, in contrast to Indexed_applicative, which executes a series of independent actions.

Minimal definition

module type WITH_RETURN = sig ... end

Minimal interface using map and product.

module type WITH_RETURN_AND_BIND = sig ... end

Minimal definition using return and bind.

module type WITH_RETURN_MAP_AND_JOIN = sig ... end

Minimal definition using return, map and join.

module type WITH_RETURN_AND_KLEISLI_COMPOSITION = sig ... end

Minimal definition using return and compose_left_to_right.

Structure anatomy

module type CORE = sig ... end

Basis operations.

module type OPERATION = sig ... end

Additional operations.

module type SYNTAX = sig ... end

Syntax extensions.

module type INFIX = sig ... end

Infix operators.

Complete API

module type API = sig ... end

The complete interface of a Indexed Monad.