Capabilities for Sharing: A Generalisation of Uniqueness and Read-Only

  • Authors:
  • John Boyland;James Noble;William Retert

  • Affiliations:
  • -;-;-

  • Venue:
  • ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many languages and language extensions include annotations on pointer variables suchas "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 welldefined semantics which can be used as a reference for the correctness of various extended type systems using annotations. Furthermore, it supports researchin new less-restrictive type systems that permit a wider range of idioms to be statically checked.