Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore the design space for runtime enforcement of dynamic capabilities through a conference presentation examining the Dala programming language, a concurrent object-oriented language designed to prevent data races. Learn about Dala's four object flavours: immutable, isolated, local, and unsafe objects, each with specific access and mutation rules to ensure thread safety. Discover how these objects are organized in a hierarchy where immutable objects can be accessed globally but never modified, while thread-local objects can be mutated but remain confined to their containing thread. Examine the challenges of runtime enforcement for these safety guarantees and analyze six axes of variation that create 2,880 possible enforcement combinations, including when each safe flavour is enforced, how isolated objects are moved, how new objects receive their flavours, and whether object flavours can change over time. Review five exemplary design implementations and their positioning across these axes to understand how programming language designers can make informed decisions about dynamic capability enforcement in their languages.
Syllabus
[Onward!'25] Exploring The Design Space For Runtime Enforcement of Dynamic Capabilities
Taught by
ACM SIGPLAN