Tagless Final algebras and Streaming
Final thoughts I think we got quite far with all these abstractions, giving us the chance to write clean and elegant code in a pure functional programming style, and there’s even more! Other topics worth mentioning that might require a blog post on their own are:
Dependency Injection Tagless Final + implicits (MTL style) enables DI in an elegant way.
Algebras Composition It is very common to have multiple algebras with a different F[_] implementation. In some cases, FunctionK (a.k.a. natural transformation) can be the solution.
Luka Jacobowitz, Building a Tagless Final DSL for WebGL in Scala
Optimizing Tagless Final – Saying farewell to Free
Difference between mtl-style and tagless final style
Free Monad vs Tagless Final