Module Core2.Fn

Various function combinators lifted into the Kleisli category.

val id : 'a -> ('a, 'e) t

id x a monadic identity function

val ignore : ('a, 'e) t -> (unit, 'e) t

ignore m computes m and discards the result.

val nothing : unit -> (unit, 'e) t

nothing is a computation that does nothing.

val non : ('a -> (bool, 'e) t) -> 'a -> (bool, 'e) t

non f returns a negation of the function f.

val apply_n_times : n:int -> ('a -> ('a, 'e) t) -> 'a -> ('a, 'e) 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.

val compose : ('b -> ('c, 'e) t) -> ('a -> ('b, 'e) t) -> 'a -> ('c, 'e) t

compose f g creates a composition f.g of two function.