chapter two
Without too much surprise, a functional language is specifically good at providing developers with tools and syntax support for creating and aggregating functions. This chapter groups together the functions in the Clojure standard library that are dedicated to manipulate or generate other functions. The chapter splits them into 4 broad categories:
- Function Definition. This section describes a group of macros taking user defined computations to put them to work so other parts of the program can access and use them.
- Higher order functions. This section describes functions and macros whose main goal is to produce new functions guided by an user defined computation or other existing definitions.
- Threading macros. This important group of macros gives Clojure a visually appealing syntax to describe processing pipelines.
- Function execution. Finally another group of functions dedicated to manage the execution of other functions.