August 2018
Intermediate to advanced
380 pages
10h 2m
English
The basic principle of engineering is abstracting away what repeats. In the previous chapters, we saw how functional programming deals with effect types extensively and encapsulates side effects into them. This is because working with them directly can be tedious. It is pretty hard to analyze these data structures in an ad hoc using only the services provided to you by your programming language of choice. Hence, patterns of working with effect types get abstracted away into type classes.
So far, we have only seen a small amount of type classes. However, the most important thing to realize is the principle behind their creation, that is, realizing how the type classes get ...