Up

# ModuleFn

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