Anonymous functions
The first feature we will study to facilitate writing custom functions, usually as parameters for HOFs, are anonymous functions. These are also called lambda functions or lambda abstractions after their origin in the lambda calculus.
We will illustrate the concept of an anonymous function using the dropSpaces
example from this chapter’s introduction. The local definition of its isSpaceCharacter
function takes up two additional lines (or one if we omit the optional type signature). Moreover, it has to be given a name, which, while useful for documentation purposes, takes some effort. This effort has very little benefit, as the function is only called once, right where it is defined. Hence, the effort cannot be amortized over multiple call sites.
Anonymous function syntax
An anonymous function is a function that is not given a name. Hence, when referring to such a nameless function, we have to supply its definition instead. The nameless version of...