4
Higher-Order Functions
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 HOF (HOFs). A HOF represents a whole family of different functions that have the same overall structure but differ ...
Get Soar with Haskell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.