Summary: Ownership Domains:
Separating Aliasing Policy from Mechanism
and Craig Chambers2
Carnegie Mellon University, Pittsburgh, PA 15217, USA,
University of Washington, Seattle, WA, 98195, USA,
Abstract. Ownership types promise to provide a practical mechanism
for enforcing stronger encapsulation by controlling aliasing in object-
oriented languages. However, previous ownership type proposals have
tied the aliasing policy of a system to the mechanism of ownership.
As a result, these proposals are too weak to express many important
aliasing constraints, yet also so restrictive that they prohibit many
useful programming idioms.
In this paper, we propose ownership domains, which decouple encapsu-
lation policy from the mechanism of ownership in two key ways. First,
developers can specify multiple ownership domains for each object, per-