December 2023
Intermediate to advanced
418 pages
9h 25m
English
One of the most important concepts in programming is the notion of abstraction. Abstraction is the ability to reuse a common code pattern without having to repeat its details and by referring to it by name. Functions themselves are a fundamental form of abstraction. For instance, in the expressions 1+2 and 1+40, the common part is (1+). We can abstract over this common pattern by defining a function:
inc :: Integer -> Integer inc n = 1 + n
In this chapter, we go one step further by abstracting over these abstractions. Indeed, we allow functions to have other functions as parameters. Such functions are called higher-order functions (HOF). A HOF represents a whole family of different functions that have the same overall ...
Read now
Unlock full access