Scala Matters With John De Goes!

button-icon-arrow-right
button-icon-arrow-left

button-icon-arrow-leftBack

Event

Scala Matters with John De Goes!

25 February 2019

London

Added 01-Jan-1970

Final tagless. The topic strikes fear into the hearts of Scala developers everywhere—and not without reason. Final tagless allows developers to build composable Domain Specific Languages (DSLs) that model interaction with the outside world. Programs written using the final tagless style can be tested deterministically and reasoned about at compile-time. Yet the technique requires confusing, compiler-choking higher-kinded types, like `F[_]`, and pervasive, non-inferable context bounds like `F[_]: Concurrent: Console: Logging`. Many have looked at final tagless and wondered if all the layers of complexity and ceremony are really worth the benefits.

Top