Summary
In this chapter, we learned about the patterns of advanced functional programming.
First, we looked at Monad Transformers. These are used to construct compound effect types. Given two independent effect types that describe their own side effects, you can stack them one on top of another to get a combined type from them.
After that, we explored the Tagless Final pattern. The main benefit is inversion of control when you can have a single implementation of your business logic run against different effects systems to gain different semantics.
Finally, we learned about a pattern of type-level computations in functional programming. The main benefit of these is that they allow you to impose guarantees on your program encoded in ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access