Pure functions and lambdas are the basic blocks of functional programming. But all the examples we've looked at so far use very simple functions. We obviously deal with much more complex problems in our industry. However, as we've seen, we still want our basic blocks to be very simple, since we want to understand and maintain them easily. So, how can we create complex programs from the simple lambdas and pure functions we've seen so far? Functional programming has a simple answer—let's create more complex functions by combining the simple functions we have. The fundamental way to create complex functions in functional programming is functional composition.





















































