higher-order function
In mathematics and computer science, a higher-order function is a function that does at least one of the following: * takes one or more functions as arguments (i.e. procedural parameters), * returns a function as its result. All other functions are first-order functions. In mathematics higher-order functions are also termed operators or functionals. The differential operator in calculus is a common example, since it maps a function to its derivative, also a function.