Module 1-Machine.Fn

Various function combinators lifted into the Kleisli category.

val id : 'a -> 'a t

id x a monadic identity function

val ignore : 'a t -> unit t

ignore m computes m and discards the result.

val nothing : unit -> unit t

nothing is a computation that does nothing.

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

non f returns a negation of the function f.

val apply_n_times : n:int -> ( 'a -> 'a t ) -> 'a -> 'a 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 t ) -> ( 'a -> 'b t ) -> 'a -> 'c t

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