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 OctDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:30 | |||
16:00 30mTalk | The First Six Years in the Development of Polonius, an Improved Borrow Checker IWACO Amanda Stjerna Uppsala university File Attached | ||
16:30 30mTalk | Data-Race Safety for the Masses IWACO Holly Borla Apple, Inc, | ||
17:00 30mTalk | Linearity, Uniqueness, Ownership: An Entente Cordiale IWACO Danielle Marshall University of Glasgow |