Module Preface_specs.Indexed_monad_plus

Indexed Monad_plus is a kind of Monoid on Indexed_monad. A Indexed_monad_plus is formally a Indexed_monad with neutral and combine. So a Indexed_monad_plus is also a Indexed_monad.

Minimal definition

module type WITH_NEUTRAL_AND_COMBINE = sig ... end

Minimal interfaces of Indexed Alternative without Indexed_monad.

module type WITH_MAP_AND_JOIN = sig ... end

Minimal definition using neutral, combine, return, map and join.

module type WITH_KLEISLI_COMPOSITION = sig ... end

Minimal definition using neutral, combine, return, compose_left_to_right.

module type WITH_BIND = sig ... end

Minimal definition using neutral, combine, return, bind.

Structure anatomy

module type CORE = sig ... end

Basis operations.

module type OPERATION = sig ... end

Additional operations.

module type INFIX = sig ... end

Infix operators.

module type SYNTAX = sig ... end

Syntax extensions

Complete API

module type API = sig ... end

The complete interface of an Indexed_monad_plus.