Secrets of the Scala Type System
Talk (45 minutes) | Intermediate
In this talk I will describe in details and with examples several aspects of the
Scala type system that are not common knowledge, like how
member selection works in general and how type members and type parameters are related.
While I will primarily be talking about the behavior of Scala 3, I will point out some of the
key differences with Scala 2 along the way.
Afterwards, you should find it easier to understand the behavior and error messages
of the compiler, and API design should become a little bit easier.
This talk will be based both on my experience working on the Scala 3 compiler as
well as my PhD thesis, where I formalized a subset of Scala in details. But you won't
need advanced knowledge of Scala to be able to understand it.