Skip to main content
Article thumbnail
Location of Repository

Generic ownership for generic Java

By Alex Potanin, James Noble, Dave Clarke and Robert Biddle


Ownership types enforce encapsulation in object-oriented programs by ensuring that objects cannot be leaked beyond object(s) that own them. Existing ownership programming languages either do not support parametric polymorphism (type genericity) or attempt to add it on top of ownership restrictions. Generic Ownership provides per-object ownership on top of a sound generic imperative language. The resulting system not only provides ownership guarantees comparable to established systems, but also requires few additional language mechanisms due to full reuse of parametric polymorphism. We formalise the core of Generic Ownership, highlighting that only restriction of this calls and owner subtype preservation are required to achieve deep ownership. Finally we describe how Ownership Generic Java (OGJ) was implemented as a minimal extension to Generic Java in the hope of bringing ownership types into mainstream programming

Topics: Categories and Subject Descriptors D.3.2 [Programming Techniques, Object-Oriented Programming, D.3.3 [Programming Languages, Language Constructs and Features—Classes and Objects, Polymorphism General Terms Design, Languages, Theory Keywords generics, ownership, type system, Java
Publisher: ACM Press
Year: 2006
OAI identifier: oai:CiteSeerX.psu:
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • (external link)
  • (external link)
  • Suggested articles

    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.