Data reducing functions
The final group we are going to take a look at is reducer functions. These are functions that apply an operation to a container of elements and derive a single value from them. Combined with the functions we have seen earlier in this chapter, we can compose the majority of our applications. At least, as far as data manipulation goes. There are a few different names for functions such as this in functional programming. In Haskell, you’ll find functions named Fold
or Fold
+ a suffix, such as Foldr
, while in some languages they are called Reduce
. We will use the Reduce
terminology for the remainder of this book.
The first function we will look at is simply Reduce
. This higher-order function abstracts operations to two data elements of the list. It then repeats this operation, accumulating the result, until a single answer is retrieved. Just as with the Filter
and Map
functions, these functions are pure, so the actual input data is never changed.
The...