Higher-order function

A higher-order function is one which takes another function as input. Higher-order functions such as map and reduce are a staple feature of functional programming languages.