We'll explore type classes in Scala 3, using its new rules for givens, extension methods, and mechanisms for automatic derivation via mirrors or macros.

Type classes are a Scala superpower, and yet are underused in application code. Compared with OOP-based designs, type classes unlock “parametricity”, meaning polymorphic functions whose type signatures describe their behavior, making code more expressive, safer, and more predictable. This matters even more in the age of AI agents, because more mistakes can be caught at compile time, shortening the feedback loop and speeding up convergence toward a working solution.
We'll explore type classes in Scala 3, using its new rules for givens, extension methods, and mechanisms for automatic derivation via mirrors or macros.
Scala Fibers, Java Virtual Threads, and Kotlin Coroutines - this talk shows how this elegant solution manifests at three different abstraction levels.
Learn how to accelerate Scala code by orders of magnitude with Cyfra.
This will be a live coding demonstration of Scala's newest feature set: capture checking.
In my talk I will argue that we can do much better by relying in a systematic way on types and capabilities.
In this talk, we will walk through a concrete example of a boilerplate-heavy domain. By replacing common Scala 2 workarounds with Opaque Types, Extension Methods, Enums, and Union Types, we will demonstrate how to achieve a strictly typed, decoupled architecture without the noise.
So, is there a modern solution for web apps that is powerful, simple, and blazingly fast in both CI and the browser? A solution that lets you write in your favorite backend language and is fun? The answer is Datastar!