During the talk, we’ll build a small effect system using solely Scala 3 context functions step-by-step.

The direct style in Scala 3, influenced by languages like Kotlin and Rust, simplifies functional programming by eliminating for-comprehension syntax on higher-kinded types. It offers an imperative approach supported by context functions.
While some many Scala developers support it, others prefer the traditional functional styles used in libraries like Cats Effect and ZIO, which manage effects differently. The potential of combining Algebraic Effects and Handlers with Scala 3's direct style opens new possibilities for exploring different programming paradigms and libraries.
During the talk, we’ll build a small effect system using solely Scala 3 context functions step-by-step. With some enhancements to the common approach, we’ll discover that adding for-comprehension capabilities to such a system is possible, ending with a system that can express the same program using either direct style syntax or monad style.
In this talk, I'll look at the different uses to which tagless final is put to, and see what we can learn about when it is useful and when it just gets in the way.
In this talk, I'll walk you through coding and design practices I've developed over the years, whilst onboarding new graduates into world of Scala (be it typelevel based API, Spark based ETL, or ML pre and post-processings), and how I made the process easier for people who didn't have much Scala experience beforehand.
Case study. Summary of over a year of experience building AWS lambdas using Scala 3, scala-cli, and GraalVM. Presentation of the open-sourced library providing custom lambda runtime developed for that purpose.