Up

module Fn

: sig

various combinators for functions

#
external (|!) : 'a -> ('a -> 'b) -> 'b = "%revapply"

A 'pipe' operator. Deprecated.

#
external (|>) : 'a -> ('a -> 'b) -> 'b = "%revapply"

A pipe operator, equivalent to |!, but this notation is more broadly accepted

#
val const : 'a -> _ -> 'a

produces a function that just returns its first argument

#
external ignore : _ -> unit = "%ignore"

ignore is the same as Pervasives.ignore. It is useful to have here so that code that rebinds ignore can still refer to Fn.ignore.

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

Negates a function

#
val forever : (unit -> unit) -> exn

forever f runs f () until it throws an exception and returns the exception. This function is useful for read_line loops, etc.

#
val apply_n_times : n:int -> ('a -> 'a) -> 'a -> 'a

apply_n_times ~n f x is the n-fold application of f to x.

#
external id : 'a -> 'a = "%identity"

The identity function

#
val compose : ('b -> 'c) -> ('a -> 'b) -> 'a -> 'c

compose f g x is f (g x)

#
val flip : ('a -> 'b -> 'c) -> 'b -> 'a -> 'c

reverse the order of arguments for a binary function

end