Afsgseepyi6mqhvcy1jh
SkillsCast

The Death of Final Tagless

25th February 2019 in London at CodeNode

This SkillsCast was filmed at Scala Matters with John De Goes!

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.

In this all-original presentation, created exclusively for Scala Matters, John A. De Goes provides a gentle and accessible introduction to final tagless, explaining what it is and the problem it intends to solve. John shows that while final tagless is easier to use than free monads, the technique suffers from a litany of drawbacks that push developers away from functional programming in Scala. John then introduces a novel approach that shares some of the benefits of final tagless, but which is idiomatic Scala, easy to explain, doesn’t need any complex type machinery, provides flawless type inference, and works beautifully across Scala 2.x and Scala 3.

Come join John for an evening of fun as you learn how to write functional code in Scala that's easy to test and easy to reason about—all without the complexity of free monads or final tagless.

Programme

Come on down to CodeNode to learn from the best, share your ideas and join our vibrant community! Be sure to sign-in early to grab a drink and meet other attendees in a casual, relaxed setting.

18:30-19:00 Sign-in and get settled

19:00-19:45 John's presentation

19:45-20:00 Q&A

YOU MAY ALSO LIKE:

Thanks to our sponsors

The Death of Final Tagless

John De Goes

John is a functional programming, author, speaker, entrepreneur, and long-time software architect and engineer. He loves startups, technology, science, software engineering, fitness, and his family.

SkillsCast

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.

In this all-original presentation, created exclusively for Scala Matters, John A. De Goes provides a gentle and accessible introduction to final tagless, explaining what it is and the problem it intends to solve. John shows that while final tagless is easier to use than free monads, the technique suffers from a litany of drawbacks that push developers away from functional programming in Scala. John then introduces a novel approach that shares some of the benefits of final tagless, but which is idiomatic Scala, easy to explain, doesn’t need any complex type machinery, provides flawless type inference, and works beautifully across Scala 2.x and Scala 3.

Come join John for an evening of fun as you learn how to write functional code in Scala that's easy to test and easy to reason about—all without the complexity of free monads or final tagless.

Programme

Come on down to CodeNode to learn from the best, share your ideas and join our vibrant community! Be sure to sign-in early to grab a drink and meet other attendees in a casual, relaxed setting.

18:30-19:00 Sign-in and get settled

19:00-19:45 John's presentation

19:45-20:00 Q&A

YOU MAY ALSO LIKE:

Thanks to our sponsors

About the Speaker

The Death of Final Tagless

John De Goes

John is a functional programming, author, speaker, entrepreneur, and long-time software architect and engineer. He loves startups, technology, science, software engineering, fitness, and his family.