This program is tentative and subject to change.
Managing stateful resources safely and expressively is a longstanding challenge
in programming languages, especially in the presence of
aliasing. For example, scope-based constructs like Java's \texttt{synchronized} blocks offer
ease of reasoning, but they restrict expressiveness and parallelism.
Conversely,
imperative, flow-sensitive approaches enable fine-grained control, but they require
sophisticated typestate analyses and often burden programmers with explicit
state tracking.
In this work, we present a novel approach that unifies
the ease of scoped reasoning with the expressiveness of imperative typestate management.
Our design extends traditional flow-insensitive capability mechanisms to a flow-sensitive setting.
In particular, we decouple capability
lifetimes from lexical scopes, allowing functions to receive, revoke, or return
capabilities in a flow-sensitive manner,
building on existing mechanisms for the safety and ergonomics of
scoped capability programming.
We implement our approach as an extension to the Scala 3 compiler,
leveraging path-dependent types and implicit resolution to enable concise,
statically safe, and expressive typestate programming.
Our prototype generically supports
a wide range of patterns, including file operations, advanced locking
protocols, DOM construction, and session types,
showing that
expressive and safe typestate management can be achieved with minimal extensions
to an existing language with capability support.
This program is tentative and subject to change.
Wed 17 JunDisplayed time zone: Mountain Time (US & Canada) change
15:50 - 17:30 | |||
15:50 20mTalk | [SIGPLAN] Probabilistic Refinement Session Types PLDI Research Papers | ||
16:10 20mTalk | [SIGPLAN] Complete the Cycle: Reachability Types with Expressive Cyclic References PLDI Research Papers Haotian Deng Purdue University, Siyuan He Purdue University, Songlin Jia Purdue University, Yuyan Bao Augusta University, Tiark Rompf Purdue University | ||
16:30 20mTalk | Backwards-Compatible Row-Based Exceptions in ML PLDI Research Papers Simcha van Collem Radboud University Nijmegen, Paulo EmÃlio de Vilhena Imperial College London, Robbert Krebbers Radboud University Nijmegen DOI | ||
16:50 20mTalk | Typestate via Revocable Capabilities PLDI Research Papers Songlin Jia Purdue University, Craig Liu Purdue University, Siyuan He Purdue University, Haotian Deng Purdue University, Yuyan Bao Augusta University, Tiark Rompf Purdue University DOI | ||
17:10 20mTalk | Syntactic Implicit Parameters with Static Overloading PLDI Research Papers DOI Pre-print | ||