Connecting Functions – Pipelining, Composition, and More
In Chapter 7, Transforming Functions, we looked at ways to build new functions by applying higher-order functions. In this chapter, we will go to the core of FP and learn how to create sequences of function calls and how to combine them to produce a more complex result out of several simpler components. To do this, we will cover the following topics:
- Pipelining: A way to join functions, similar to Unix/Linux pipes
- Chaining: A variant of pipelining, but restricted to objects
- Composing: A classic operation with its origins in basic computer theory
- Transducing: An optimized way to compose
map
,filter
, orreduce
operations
Along the way, we will be touching on related concepts, such as the following:
- Pointfree style, which is often used with pipelining and composition
- Debugging of composed or piped functions, for which we’ll whip up some auxiliary tools
- Testing for these functions...