Generic ownership for generic Java
Author(s) -
Alex Potanin,
James Noble,
Dave Clarke,
Robert Biddle
Publication year - 2006
Publication title -
acm sigplan notices
Language(s) - English
Resource type - Book series
SCImago Journal Rank - 0.31
H-Index - 99
eISSN - 1558-1160
pISSN - 0362-1340
ISBN - 1-59593-348-4
DOI - 10.1145/1167515.1167500
Subject(s) - computer science , java , programming language , reuse , mainstream , object oriented programming , generics in java , scala , functional programming , real time java , java concurrency , philosophy , ecology , theology , biology
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 sup- port 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 compara- ble 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 re- striction 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 main- stream programming.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom