Summary
In this chapter, we learned about functional programming. If you grasped the concept of functional programming well enough, the puzzles for reactive programming will automatically get solved for you. We also learned the meaning of functional reactive programming.
By learning functional programming, we also got a clear idea on the constraints from the previous chapter.
We also got our hands on the introduction to coroutines, which is a path breaking new feature of the Kotlin language.
We have modified our ReactiveCalculator
class with coroutine and a few new concepts of functional programming and optimized it.