Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7850))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Clarke, D.G., Potter, J.M., Noble, J.: Ownership Types for Flexible Alias Protection. In: Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA (1998)

    Google Scholar 

  2. Clarke, D.G.: Object Ownership and Containment. PhD thesis, School of Computer Science and Engineering, The University of New South Wales, Sydney, Australia (2001)

    Google Scholar 

  3. Aspinall, D., Hofmann, M.: Dependent types. In: Pierce, B.C. (ed.) Advanced Topics in Types and Programming Languages, The MIT Press (2004)

    Google Scholar 

  4. Potanin, A., Noble, J., Clarke, D., Biddle, R.: Generic Ownership for Generic Java. In: Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA (2006)

    Google Scholar 

  5. Cameron, N., Noble, J.: Encoding Ownership Types in Java. In: Vitek, J. (ed.) TOOLS 2010. LNCS, vol. 6141, pp. 271–290. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  6. McKinna, J.: Why dependent types matter. In: Symposium on Principles of Programming Languages, POPL (2006)

    Google Scholar 

  7. Xi, H., Pfenning, F.: Dependent types in practical programming. In: Symposium on Principles of Programming Languages, POPL (1999)

    Google Scholar 

  8. McBride, C., McKinna, J.: The view from the left. Journal of Functional Programming 14(1), 69–111 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  9. Clarke, D.G., Drossopoulou, S.: Ownership, Encapsulation and the Disjointness of Type and Effect. In: Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA (2002)

    Google Scholar 

  10. Bruce, K.B., Cardelli, L., Pierce, B.C.: Comparing Object Encodings. Information and Computation 155(1-2) (1999)

    Google Scholar 

  11. Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: a Minimal Core Calculus For Java and GJ. Transactions on Programming Languages and Systems 23(3), 396–450 (2001); An earlier version of this work appeared at OOPSLA 1999

    Article  Google Scholar 

  12. Cameron, N., Drossopoulou, S., Noble, J.: Understanding Ownership Types with Dependent Types. Technical report 23, Vistoria University, School of Engineering and Computer Science (2012)

    Google Scholar 

  13. Dietl, W., Drossopoulou, S., Müller, P.: Generic Universe Types. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 28–53. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  14. Lu, Y.: On Ownership and Accessibility. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 99–123. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  15. Mitchell, J.C., Plotkin, G.D.: Abstract Types have Existential Type. Transactions on Programming Languages and Systems 10(3), 470–502 (1988)

    Article  Google Scholar 

  16. Wadler, P.: Comprehending monads. In: Conference on LISP and Functional Programming, LFP (1990)

    Google Scholar 

  17. Wrigstad, T.: Ownership-Based Alias Managemant. PhD thesis, KTH, Sweden (2006)

    Google Scholar 

  18. Dietl, W., Drossopoulou, S., Müller, P.: Separating ownership topology and encapsulation with Generic Universe Types. Transactions on Programming Languages and Systems (TOPLAS) 33 20, 20:1–20:62 (2011)

    Article  Google Scholar 

  19. Cameron, N., Drossopoulou, S., Noble, J., Smith, M.: Multiple Ownership. In: Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA (2007)

    Google Scholar 

  20. Zhao, T., Palsberg, J., Vitek, J.: Type-based Confinement. J. Funct. Program 16(1), 83–128 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  21. Cameron, N., Drossopoulou, S.: Existential Quantification for Variant Ownership. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 128–142. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  22. Müller, P.: Modular Specification and Verification of Object-Oriented Programs. LNCS, vol. 2262. Springer, Heidelberg (2002)

    Book  MATH  Google Scholar 

  23. Lu, Y., Potter, J.: Protecting Representation with Effect Encapsulation. In: Principles of Programming Languages, POPL (2006)

    Google Scholar 

  24. Wrigstad, T., Clarke, D.G.: Existential Owners for Ownership Types. Journal of Object Technology 6(4) (2007)

    Google Scholar 

  25. Cameron, N., Dietl, W.: Comparing Universes and Existential Ownership Types. In: International Workshop on Aliasing, Confinement and Ownership in object-oriented programming, IWACO (2009)

    Google Scholar 

  26. Cameron, N.: Existential Types for Variance — Java Wildcards and Ownership Types. PhD thesis, Imperial College London (2009)

    Google Scholar 

  27. Aldrich, J., Chambers, C.: Ownership Domains: Separating Aliasing Policy from Mechanism. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 1–25. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  28. Hinze, R.: Fun with phantom types. In: The Fun of Programming, pp. 245–262. Palgrave Macmillan (2003)

    Google Scholar 

  29. Cameron, N., Noble, J.: OGJ Gone Wild. In: International Workshop on Aliasing, Confinement and Ownership in object-oriented programming, IWACO (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Cameron, N., Drossopoulou, S., Noble, J. (2013). Understanding Ownership Types with Dependent Types. In: Clarke, D., Noble, J., Wrigstad, T. (eds) Aliasing in Object-Oriented Programming. Types, Analysis and Verification. Lecture Notes in Computer Science, vol 7850. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36946-9_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-36946-9_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-36945-2

  • Online ISBN: 978-3-642-36946-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics