Understanding Ownership Types with Dependent Types

In this paper we will explore the relationship between Ownership Types and more fundamental type systems. In particular, we show that ownership types (in both simple and embellished flavours) are dependent types by translating object calculi with object ownership to lambda calculi with dependent types. We discuss which ownership features share features in the underlying dependent type system, and which additional features require additional complexity.

[1]  Sophia Drossopoulou,et al.  Multiple ownership , 2007, OOPSLA.

[2]  Tobias Wrigstad,et al.  Ownership-Based Alias Managemant , 2006 .

[3]  Luca Cardelli,et al.  Comparing Object Encodings , 1997, Inf. Comput..

[4]  Dave Thomas,et al.  ECOOP 2006 - Object-Oriented Programming , 2006 .

[5]  Craig Chambers,et al.  Ownership Domains: Separating Aliasing Policy from Mechanism , 2004, ECOOP.

[6]  Antonio Vallecillo,et al.  Objects, Models, Components, Patterns , 2011, Lecture Notes in Computer Science.

[7]  Sophia Drossopoulou,et al.  Existential Quantification for Variant Ownership , 2009, ESOP.

[8]  Yi Lu,et al.  Protecting representation with effect encapsulation , 2006, POPL '06.

[9]  Philip Wadler,et al.  Comprehending monads , 1990, LISP and Functional Programming.

[10]  Peter Müller,et al.  Modular Specification and Verification of Object-Oriented Programs , 2002, Lecture Notes in Computer Science.

[11]  Martin Odersky ECOOP 2004 – Object-Oriented Programming , 2004, Lecture Notes in Computer Science.

[12]  David Gerard Clarke,et al.  Object ownership and containment , 2003 .

[13]  Sophia Drossopoulou,et al.  Separating ownership topology and encapsulation with generic universe types , 2011, TOPL.

[14]  James Noble,et al.  OGJ gone wild , 2009 .

[15]  Jens Palsberg,et al.  Type-based confinement , 2006, J. Funct. Program..

[16]  Sophia Drossopoulou,et al.  Ownership, encapsulation and the disjointness of type and effect , 2002, OOPSLA '02.

[17]  Conor McBride,et al.  The view from the left , 2004, Journal of Functional Programming.

[18]  James McKinna,et al.  Why dependent types matter , 2006, POPL '06.

[19]  Dave Clarke,et al.  Existential Owners for Ownership Types , 2007, J. Object Technol..

[20]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[21]  Ralf Hinze,et al.  Fun with phantom types , 2003 .

[22]  James Noble,et al.  Ownership types for flexible alias protection , 1998, OOPSLA '98.

[23]  James Noble,et al.  Generic ownership for generic Java , 2006, OOPSLA '06.

[24]  Sophia Drossopoulou,et al.  Generic Universe Types , 2007, ECOOP.

[25]  Werner Dietl,et al.  Comparing universes and existential ownership types , 2009 .

[26]  Yi Lu,et al.  On Ownership and Accessibility , 2006, ECOOP.

[27]  John C. Mitchell,et al.  Abstract types have existential type , 1988, TOPL.

[28]  Frank Pfenning,et al.  Dependent types in practical programming , 1999, POPL '99.

[29]  Erik Ernst,et al.  ECOOP 2007 - Object-Oriented Programming, 21st European Conference, Berlin, Germany, July 30 - August 3, 2007, Proceedings , 2007, ECOOP.

[30]  Philip Wadler,et al.  Featherweight Java: a minimal core calculus for Java and GJ , 2001, TOPL.

[31]  David Aspinall,et al.  Advanced Topics in Types and Programming Languages , 2004 .

[32]  Nicholas Robert Cameron,et al.  Encoding Ownership Types in Java , 2010, TOOLS.