Make.Fn
Various function combinators lifted into the Kleisli category.
val id : 'a -> 'a T(M).t
id x a monadic identity function
id x
val ignore : 'a T(M).t -> unit T(M).t
ignore m computes m and discards the result.
ignore m
m
val nothing : unit -> unit T(M).t
nothing is a computation that does nothing.
nothing
val non : ('a -> bool T(M).t) -> 'a -> bool T(M).t
non f returns a negation of the function f.
non f
f
val apply_n_times : n:int -> ('a -> 'a T(M).t) -> 'a -> 'a T(M).t
apply_n_times ~n f creates a chaing of computation of size n made from applications of the same function to its own result.
apply_n_times ~n f
n
val compose : ('b -> 'c T(M).t) -> ('a -> 'b T(M).t) -> 'a -> 'c T(M).t
compose f g creates a composition f.g of two function.
compose f g
f.g