Up

Module Fn

various combinators for functions

Signature

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

A 'pipe' operator.

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