In this talk, I’ll guide you through the crossroads where Scala intersects with AI, some applications aimed at boosting developer productivity, others focused on integrating your code with LLMs.
When writing software, we currently seem to have to choose between an imperative style - easy to read and write, hard to reason about - and a monadic style - hard to read and write, easy to reason about.This talk is about being greedy and getting the best of both worlds, because we deserve it.
Drawing from multiple Scala LLM workshops we conducted this past year, I will share insights to significantly enhance your AI experience.
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.
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.