ABSTRACT
Ownership types and Universe types are two type systems used to structure the heap and enforce encapsulation disciplines. The parametricity of ownership types allows a finergrained description of heap topologies, whereas the flexibility of any references in Universe types allows sharing between data structures. No direct encoding of one type system in the other has been possible.
Parametric ownership has recently been extended with existential quantification of contexts. We formalise such a language and give a formal translation between programs written in this language and using Universe types. We show that this translation is sound and complete.
- Jonathan Aldrich. Using types to enforce architectural structure. PhD thesis, University of Washington, 2003. Google ScholarDigital Library
- Chris Andreae, Yvonne Coady, Celina Gibbs, James Noble, Jan Vitek, and Tian Zhao. Scoped types and aspects for real-time systems. In European Conference on Object Oriented Programming (ECOOP), 2006. Google ScholarDigital Library
- Anindya Banerjee and David Naumann. Ownership confinement ensures representation independence for object-oriented programs. JACM: Journal of the ACM, 2005. Google ScholarDigital Library
- Chandrasekhar Boyapati, Robert Lee, and Martin C. Rinard. Ownership Types for Safe Programming: Preventing Data Races and Deadlocks. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2002. Google ScholarDigital Library
- Chandrasekhar Boyapati, Alexandru Salcianu, William S. Beebee, and Martin C. Rinard. Ownership types for safe region-based memory management in real-time java. In Programming Language Design and Implementation (PLDI), 2003. Google ScholarDigital Library
- Nicholas Cameron. Existential Types for Variance --- Java Wildcards and Ownership Types. PhD thesis, Imperial College London, 2009.Google Scholar
- Nicholas Cameron and Werner Dietl. Comparing Universes and Existential Ownership Types. Technical Report 06, School of Engineering and Computer Science, VUW, 2009. https://ecs.victoria.ac.nz/twiki/pub/Main/TechnicalReportSeries/ECSTR09-06.pdf.Google ScholarDigital Library
- Nicholas Cameron and Sophia Drossopoulou. Existential Quantification for Variant Ownership. In European Symposium on Programming Languages and Systems (ESOP), 2009. Google ScholarDigital Library
- Nicholas Cameron, Sophia Drossopoulou, and Erik Ernst. A Model for Java with Wildcards. In European Conference on Object Oriented Programming (ECOOP), 2008. Google ScholarDigital Library
- Nicholas Cameron, Sophia Drossopoulou, James Noble, and Matthew Smith. Multiple Ownership. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2007. Google ScholarDigital Library
- David G. Clarke. Object Ownership and Containment. PhD thesis, School of Computer Science and Engineering, The University of New South Wales, Sydney, Australia, 2001. Google ScholarDigital Library
- David G. Clarke and Sophia Drossopoulou. Ownership, Encapsulation and the Disjointness of Type and Effect. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2002. Google ScholarDigital Library
- David G. Clarke, John M. Potter, and James Noble. Ownership Types for Flexible Alias Protection. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 1998. Google ScholarDigital Library
- David Cunningham, Werner Dietl, Sophia Drossopoulou, Adrian Francalanza, Peter Müller, and Alexander J. Summers. Universe Types for Topology and Encapsulation. In Formal Methods for Components and Objects (FMCO), 2008. Google ScholarDigital Library
- David Cunningham, Sophia Drossopoulou, and Susan Eisenbach. Universe Types for Race Safety. In Verification and Analysis of Multi-threaded Java-like Programs (VAMP), 2007.Google Scholar
- Werner Dietl, Sophia Drossopoulou, and Peter Müller. Generic Universe Types. In European Conference on Object Oriented Programming (ECOOP), 2007. Google ScholarDigital Library
- Werner Dietl and Peter Müller. Universes: Lightweight Ownership for JML. Journal of Object Technology, 4(8):5--32, 2005.Google ScholarCross Ref
- Werner Dietl and Peter Müller. Ownership type systems and dependent classes. In Foundations of Object-Oriented Languages (FOOL), 2008.Google Scholar
- Atsushi Igarashi, Benjamin C. Pierce, and Philip Wadler. Featherweight Java: a Minimal Core Calculus For Java and GJ. ACM Trans. Program. Lang. Syst., 23(3):396--450, 2001. An earlier version of this work appeared at OOPSLA'99. Google ScholarDigital Library
- Bart Jacobs, Frank Piessens, K. Rustan M. Leino, and Wolfram Schulte. Safe concurrency for aggregate objects with invariants. In Software Engineering and Formal Methods (SEFM), 2005. Google ScholarDigital Library
- Neel Krishnaswami and Jonathan Aldrich. Permission-Based Ownership: Encapsulating State in Higher-Order Typed Languages. In Programming Language Design and Implementation (PLDI), 2005. Google ScholarDigital Library
- K. Rustan M. Leino and Peter Müller. Object invariants in dynamic contexts. In European Conference on Object-Oriented Programming (ECOOP), 2004.Google Scholar
- Yi Lu and John Potter. On Ownership and Accessibility. In European Conference on Object Oriented Programming (ECOOP), 2006. Google ScholarDigital Library
- Yi Lu and John Potter. Protecting Representation with Effect Encapsulation. In Principles of Programming Languages (POPL), 2006. Google ScholarDigital Library
- Peter Müller. Modular Specification and Verification of Object-Oriented Programs, volume 2262 of Lecture Notes in Computer Science. Springer-Verlag, 2002.Google Scholar
- Peter Müller, Arnd Poetzsch-Heffter, and Gary T. Leavens. Modular Invariants for Layered Object Structures. Science of Computer Programming, 62(3):253--286, October 2006. Google ScholarDigital Library
- James Noble, Jan Vitek, and John Potter. Flexible Alias Protection. In European Conference on Object Oriented Programming (ECOOP), 1998. Google ScholarDigital Library
- Mads Torgersen, Christian Plesner Hansen, Erik Ernst, Peter von der Ahé, Gilad Bracha, and Neal Gafter. Adding Wildcards to the Java Programming Language. Journal of Object Technology, 3(11):97--116, 2004. Special issue: OOPS track at SAC 2004, Nicosia/Cyprus.Google ScholarCross Ref
- Tobias Wrigstad and David G. Clarke. Existential Owners for Ownership Types. Journal of Object Technology, 6(4), 2007.Google ScholarCross Ref
Recommendations
On subtyping, wildcards, and existential types
FTfJP '09: Proceedings of the 11th International Workshop on Formal Techniques for Java-like ProgramsWildcards are an often confusing part of the Java type system: the behaviour of wildcard types is not fully specified by subtyping, due to wildcard capture, and the rules for type checking are often misunderstood. Their very formulation seems somehow '...
Type checking and inference for polymorphic and existential types
CATS '09: Proceedings of the Fifteenth Australasian Symposium on Computing: The Australasian Theory - Volume 94This paper proves undecidability of type checking and type inference problems in some variants of typed lambda calculi with polymorphic and existential types. First, type inference in the domain-free polymorphic lambda calculus is proved to be ...
An existential crisis resolved: type inference for first-class existential types
Despite the great success of inferring and programming with universal types, their dual—existential types—are much harder to work with. Existential types are useful in building abstract types, working with indexed types, and providing first-class support ...
Comments