Partial currying
The last transformation we will see is a sort of mixture of currying and partial application. If you google around, in some places you find it called currying, and in others, partial application, but as it happens, it fits neither... so I'm sitting on the fence and calling it partial currying!
The idea of this is, given a function, to fix its first few arguments, and produce a new function that will receive the rest of them. However, if that new function is given fewer arguments, it will fix whatever it was given and produce a newer function, to receive the rest of them, until all the arguments are given and the final result can be calculated. See Figure 7.3:
Figure 7.3. "Partial currying" is a mixture of currying and partial application. You may provide arguments from the left, in any quantity, until all have been provided, and then the result is calculated.
To see an example, let's go back to the nonsense()
function we have been using in previous sections. Assume we already...