Publication View

Multiple Ownership (2007)

Abstract
Existing ownership type systems require objects to have precisely one primary owner, organizing the heap into an ownership tree. Unfortunately, a tree structure is too restrictive for many programs, and prevents many common design patterns where multiple objects interact. Multiple Ownership is an ownership type system where objects can have more than one owner, and the resulting ownership structure forms a DAG. We give a straightforward model for multiple ownership, focusing in particular on how multiple ownership can support a powerful effects system that determines when two computations interfere — in spite of the DAG structure. We present a core programming language MOJO, Multiple Ownership for Java-like Objects, including a type and effects system, and soundness proof. In comparison to other systems, MOJO imposes absolutely no restrictions on pointers, modifications or programs’ structure, but in spite of this, MOJO’s effects can be used to reason about or describe programs ’ behaviour.

Publication details
Download http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.63.3020
Source http://pubs.doc.ic.ac.uk/multiple-ownership/multiple-ownership.pdf
Contributors CiteSeerX
Repository CiteSeerX - Scientific Literature Digital Library and Search Engine (United States)
Keywords General Terms Languages, Theory
Type text
Language English
Relation 10.1.1.109.1141, 10.1.1.23.2115, 10.1.1.73.4916, 10.1.1.1.5802, 10.1.1.21.5977, 10.1.1.50.40, 10.1.1.22.4574, 10.1.1.34.7871, 10.1.1.110.5405, 10.1.1.69.2289, 10.1.1.22.6103, 10.1.1.4.4718, 10.1.1.61.1784, 10.1.1.136.1974, 10.1.1.100.548, 10.1.1.104.3753, 10.1.1.129.4525, 10.1.1.62.6580, 10.1.1.111.1587, 10.1.1.13.8281, 10.1.1.68.6387, 10.1.1.92.2785, 10.1.1.123.3600