: A Linear Language with Locations
, Amal Ahmed1
, and Matthew Fluet2
Abstract. We explore foundational typing support for strong updates
-- updating a memory cell to hold values of unrelated types at different
points in time. We present a simple, but expressive type system based
upon standard linear logic, one that also enjoys a simple semantic in-
terpretation for types that is closely related to models for spatial logics.
The typing interpretation is strong enough that, in spite of the fact that
our core calculus supports shared, mutable references and cyclic graphs,
every well-typed program terminates.
We then consider extensions needed to make our calculus expressive