Recursion and Higher-order Functions - slide 13 : 35 |

Higher-order functions

A *higher-order function* accepts functions as arguments and is able to return a function as its result

A *higher-order language* supports higher-order functions and allows functions to be constituents of data structures

- The order of data
**Order 0**: Non function data**Order 1**: Functions with domain and range of order 0**Order 2**: Functions with domain and range of order 1**Order**: Functions with domain and range of order*k**k-1*

Functions of order *i*, *i* >= 2, are called higher-order functions