Aliasing is a vital concept of programming, but it comes with a plethora of challenging issues, such as the problems related to race safety. This has motivated years of research, and promising solutions such as ownership or linear types have found their way into modern programming languages. Unfortunately, most current approaches are restrictive. In particular, they often enforce a single-writer constraint, which prohibits the creation of mutable self-referential structures. While this constraint is often indispensable in the context of preemptive multithreading, it can be worked around in the case of single threaded programs. With the recent resurgence of cooperative multitasking, where processes voluntarily share control over a single execution thread, this appears to be interesting trade-off. In this paper, we propose a type sys- tem that relaxes the usual single-writer constraint for single threaded programs, without sacrificing race safety proper- ties. We present it in the form of a simple reference-based language, for which we provide a formal semantics, as well as an interpreter.
Tue 6 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
10:30 - 12:00
|Constraint-based Run-time State Migration for Live Modeling|
|The Next 700 Unit Checkers|
|A Practical Type System for Safe Aliasing|