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.
Drawing from multiple Scala LLM workshops we conducted this past year, I will share insights to significantly enhance your AI experience.
In this presentation, I will demonstrate how we leveraged the strengths of Scala and TypeScript to develop a collaborative text editor that meets the strictest standards for security, performance, and real-time collaboration.