Function composition is perhaps the most fundamental skill to be mastered by a functional programmer. However simple it may sound, this is about combining some functions into a more powerful combination. This may sound close to the higher-order functions I have covered earlier, and it is close indeed. Function composition is just concentrating upon building chains of function applications that allow more powerful data transformations from the bunch of less complicated ones.
How exactly does the function composition take place if, by definition, the functions considered the basis for composition are just sort of black boxes that can only consume arguments and produce results? This is correct; functions, arguments, and the single operation of an application are all that's required for composition (remember minimizing the moving parts). Still, composition is performed by functions as well. The function that somehow applies just its parameters or values (some of...