The idea of higher-order functions is of central importance for the functional programming paradigm. As we shall see on this and the following pages, this stems from the fact that higher-order functions can be further generalized by accepting functions as parameters. In addition, higher-order functions may act as function generators, because they allow functions to be returned as the result from other functions.
Order 0 data have nothing to do with functions. Numbers, lists, and characters are example of such data.
Data of order 1 are functions which work on 'ordinary' order 0 data. Thus order 1 data are the functions we have been concerned with until now.
Data of order 2 - and higher - are example of the functions that have our interest in this lecture.
Functions of order i, i >= 2, are called higher-order functions