Capabilities for Aliasing: A Generalization of Uniquesness and Read-Only

by John Boyland, James Noble and William Retert.


Many languages and language extensions include annotations on pointer variables such as ``read-only,'' ``unique,'' and ``borrowed''; many more annotations have been proposed but not implemented. Unfortunately, all these annotations are described individually and formalised independently -- assuming they are formalised at all. In this paper, we show how these annotations can be subsumed into a general capability system for pointers. This system separates mechanism (defining the semantics of sharing and exclusion) from policy (defining the invariants that are intended to be preserved). The capability system has a well-defined semantics which can be used as a reference for the correctness of various extended type systems using annotations. Furthermore, it supports research in new less-restrictive type systems that permit a wider range of idioms to be statically checked.

BibTeX Style Reference

  author =      {John Boyland and James Noble and William Retert},
  title =       {Capabilities for Aliasing: A Generalisation of
Uniqueness and Read-Only},
  booktitle =   "ECOOP 2001 --- Object-Oriented Programming, 15th European Conference",
  editor = 	{J{\o}rgen Lindskov Knudsen},
  pages = 	"2--27",
  city =        "Budapest, Hungary",
  date =        jun # " 18--22",
  year =        2001,
  series =      "Lecture Notes in Computer Science",
  number =      "2072",
  publisher =   "Springer",
  address =     "Berlin, Heidelberg, New York",
  nothing =     {})

How to Get a Copy

The paper has appeared in the conference proceedings of ECOOP 2001 (Budapest, Hungary, June 18--22) proceedings published as number 2027 of Lecture Notes in Computer Science by Springer. An electronic copy is available here by permission of Springer.

Last Modified: October 17, 2003

Capabilities for Aliasing /