Module Indexed_bind.Core_via_map_and_bind

Parameters

Signature

type ('a, 'index) t = ('a, 'index) Req.t

The type held by the Indexed Bind.

val bind : ('a -> ('b, 'index) t) -> ('a, 'index) t -> ('b, 'index) t

bind f m passes the result of computation m to function f.

val map : ('a -> 'b) -> ('a, 'index) t -> ('b, 'index) t

Mapping over from 'a to 'b.

val join : (('a, 'index) t, 'index) t -> ('a, 'index) t

join remove one level of monadic structure, projecting its bound argument into the outer level.

val compose_left_to_right : ('a -> ('b, 'index) t) -> ('b -> ('c, 'index) t) -> 'a -> ('c, 'index) t

Composing monadic functions using Kleisli Arrow (from left to right).