Mon 21 Oct 2024 16:30 - 17:00 at Pacific B - Session 4 Chair(s): Tobias Wrigstad

Concurrency is a notoriously difficult area of programming due to the risk of data races causing crashes and unpredictable runtime behavior. Swift’s recent language evolution in pursuit of static data-race safety introduced an actor-based concurrency model where objects sent between actors must be safe to access concurrently, preventing shared mutable state from ever leaving an actor. This model is too onerous in object-oriented programs, impeding natural programming patterns where mutable state is moved from one actor to another. Swift solves this expressivity problem with an approach adapted from a PLDI’22 paper to enable complex, mutable object graphs to be sent between actors without additional work from the programmer. The upcoming Swift 6 language mode brings these ideas together to provide data-race safety by default. In this talk, we’ll describe the approach to static data-race safety in Swift 6, adopting research into Swift’s actor isolation model, and integrating data-race safety into a large ecosystem of existing code.

Mon 21 Oct

Displayed time zone: Pacific Time (US & Canada) change