Day 3 -

Aug 20th

Stage 3

10:10 - 10:50

Capture Checking: A New Approach to Effect Safety in Scala

Capture Checking is an upcoming feature that brings capability tracking into Scala’s type system, offering a new way to express and control effects in direct style, all without requiring monads or other heavy abstractions.

This talk introduces the core ideas behind Capture Checking, how it fits into Scala’s type system, and the kinds of bugs it can prevent. We’ll walk through practical examples that show how capabilities can improve safety and clarity in everyday code, and give a peek into how the compiler enforces these guarantees.

We’ll also talk about where things stand today: what’s implemented, what’s experimental, and what open questions remain. The goal is to give you a clear, realistic picture of Capture Checking as it exists now – its motivations, its mechanics, and its potential.

Whether you’re new to capabilities or wondering how effect tracking will evolve in Scala, this is your starting point.

Oliver Bračevac

Oliver is a member of the Scala compiler team at EPFL’s LAMP group, where he leads compiler development and works closely with Martin Odersky on the design and implementation of new language features. He is currently focused on Capture Checking. Oliver has a background in programming languages and formal methods. In addition to foundational work on types and effects, he has contributed to Scala LMS, high-performance symbolic execution engines, and worked on cutting-edge compilers for Rust-like languages as part of DARPA-funded research at Galois Inc.

Subscribe

Join our conference

Subscribe and follow @ScalaDays on BlueSky for the latest conference updates.