Type Class Derivation in Scala 3 at Scala in the City Conference


Type class derivation is one of the most exciting new features of Scala 3.

Chris Birchall explores type class derivation in his talk at the #SignifyScalaConf!

With live code and interesting examples, you'll want to watch this!

In this talk I'll explain how library authors can use it to make life easier for their users. I'll start with a quick recap of how type class derivation is typically achieved in Scala 2, and how it looks in other languages such as Haskell and Rust. Then I'll live-code a `derived` method for the world's simplest type class, Show. Once we've seen how all the pieces fit together, we can move on to a more interesting example: deriving Functor for paramterized ADTs. Finally I'll demonstrate how I'm planning to combine type class derivation with Scala 3's new macro framework to allow automatic gRPC server and client generation in Mu (, a microservices framework developed by 47 Degrees.

This talk was given by Chris Birchall at the Scala in the City Conference 2020.