Skip to content

Higher-order function

infogalactic Higher-order function

In mathematics and computer science, a higher-order function (also functional, functional form or functor; not to be confused with the functor concept in category theory) is a function that does at least one of the following:

  • takes one or more functions as arguments,
  • returns a function as its result.

All other functions are first-order functions.

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 (\tau_1\to\tau_2)\to\tau_3.