Higher-order Function

In mathematics and computer science, a higher-order function (also functional form, functional or functor) is a function that does at least one of the following:

  • take one or more functions as an input
  • output a function

All other functions are first order functions. In mathematics higher-order functions are also known as operators or functionals. The derivative in calculus is a common example, since it maps a function to another function.

In the untyped lambda calculus, all functions are higher-order; in a typed lambda calculus, from which most functional programming languages are derived, higher-order functions are values with types of the form .

The map function found in many functional programming languages is one example of a higher-order function. It takes as arguments a function f and a list of elements, and as result, returns a new list with f applied to each element from the list. Another very common kind of higher-order function in those languages which support them are sorting functions which take a comparison function as a parameter, allowing the programmer to separate the sorting algorithm from the comparisons of the items being sorted. The C standard function qsort is an example of this.

Other examples of higher-order functions include fold, function composition, integration, and the constant-function function λxy.x.

Read more about Higher-order Function:  Example, Alternatives

Famous quotes containing the word function:

    The intension of a proposition comprises whatever the proposition entails: and it includes nothing else.... The connotation or intension of a function comprises all that attribution of this predicate to anything entails as also predicable to that thing.
    Clarence Lewis (1883–1964)