This program is tentative and subject to change.
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.
This program is tentative and subject to change.
Mon 21 OctDisplayed time zone: Pacific Time (US & Canada) change
14:00 - 15:30 | |||
14:00 30mTalk | Ordered Types for Typestate IWACO Peter Thiemann University of Freiburg, Germany | ||
14:30 30mTalk | Data-Race Safety for the Masses IWACO Holly Borla Apple, Inc, | ||
15:00 30mTalk | Linearity, Uniqueness, Ownership: An Entente Cordiale IWACO Danielle Marshall University of Glasgow |