Parameters
Signature
Type
The type held by the Bind.
Type
Functions
val bind : ('a -> 'b t) -> 'a t -> 'b tbind f m passes the result of computation m to function f.
val map : ('a -> 'b) -> 'a t -> 'b tMapping over from 'a to 'b.
val join : 'a t t -> 'a tjoin remove one level of monadic structure, projecting its bound argument into the outer level.
val compose_left_to_right : ('a -> 'b t) -> ('b -> 'c t) -> 'a -> 'c tComposing monadic functions using Kleisli Arrow (from left to right).
val compose_right_to_left : ('b -> 'c t) -> ('a -> 'b t) -> 'a -> 'c tComposing monadic functions using Kleisli Arrow (from right to left).
val lift : ('a -> 'b) -> 'a t -> 'b tMapping over t from 'a to 'b.
val lift2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c tLift a binary function that acts on arbitrary values into a function that acts t values.
val lift3 : ('a -> 'b -> 'c -> 'd) -> 'a t -> 'b t -> 'c t -> 'd tLift a ternary function that acts on arbitrary values into a function that acts t values.
val replace : 'a -> 'b t -> 'a tCreate a new t, replacing all values of the given functor by given a value of 'a.
val void : 'a t -> unit tCreate a new t, replacing all values in the given functor by unit.
Infix operators
val (=|<) : ('a -> 'b) -> 'a t -> 'b tInfix version of CORE.map.
val (>|=) : 'a t -> ('a -> 'b) -> 'b tInfix flipped version of CORE.map.
val (>>=) : 'a t -> ('a -> 'b t) -> 'b tInfix flipped version of CORE.bind.
val (=<<) : ('a -> 'b t) -> 'a t -> 'b tInfix version of CORE.bind.
val (>=>) : ('a -> 'b t) -> ('b -> 'c t) -> 'a -> 'c tInfix version of CORE.compose_left_to_right.
val (<=<) : ('b -> 'c t) -> ('a -> 'b t) -> 'a -> 'c tInfix version of OPERATION.compose_right_to_left.
val (>>) : unit t -> 'b t -> 'b tSequentially compose two actions, discarding any value produced by the first.
val (<<) : 'a t -> unit t -> 'a tSequentially compose two actions, discarding any value produced by the second.
val (<$>) : ('a -> 'b) -> 'a t -> 'b tInfix version of CORE.map.
val (<&>) : 'a t -> ('a -> 'b) -> 'b tFlipped and infix version of CORE.map.
val (<$) : 'a -> 'b t -> 'a tInfix version of OPERATION.replace.
val ($>) : 'a t -> 'b -> 'b tFlipped and infix version of OPERATION.replace.
Syntax
val let* : 'a t -> ('a -> 'b t) -> 'b tSyntactic shortcuts for flipped version of CORE.bind:
let* x = e in f is equals to bind (fun x -> f) e.
val let+ : 'a t -> ('a -> 'b) -> 'b tlet operator for mapping.