Skip to main content

A Typeful Approach to Object-Oriented Programming with Multiple Inheritance

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3057))

Included in the following conference series:

Abstract

The wide practice of objected oriented programming (OOP) in current software practice is evident. Despite extensive studies on typing programming objects, it is still undeniably a challenging research task to design a type system that can satisfactorily account for a variety of features (e.g., binary methods and multiple inheritance) in OOP. In this paper, we present a typeful approach to implementing objects that makes use of a recently introduced notion of guarded datatypes. In particular, we demonstrate how the feature of multiple inheritance can be supported with this approach, presenting a simple and general account for multiple inheritance in a typeful manner.

Partially supported by NSF grants no. CCR-0224244 and no. CCR-0229480

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. Bruce, K.B., Cardelli, L., Pierce, B.: Comparing Object Encodings. Information and Computation 155, 108–133 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  2. Bruce, K.B.: Foundations of Object-Oriented Languages, pp. xx+384. The MIT Press, Cambridge (2002)

    Google Scholar 

  3. Cardelli, L.: A semantics of multiple inheritance. Information and Computation 76(2-3), 138–164 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  4. Compagnoni, A.B., Pierce, B.C.: Higher-Order Intersection Types and Multiple Inheritance. Mathematical Structures in Computer Science 6(5), 469–501 (1996)

    MATH  MathSciNet  Google Scholar 

  5. Goldenberg, A., Robson, D.: Smalltalk-80: The Language and Its Implementation. Addison-Wesley, Reading (1983)

    Google Scholar 

  6. Hall, C.V., Hammond, K., Jones, S.L.P., Wadler, P.L.: Type Classes in Haskell. ACM Transactions on Programming Languages and Systems 18(2), 109–138 (1996)

    Article  Google Scholar 

  7. Hinze, R.: A New Approach to Generic Functional Programming. In: Proceedings of 27th Annual ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2000), Boston, pp. 119–132(2000)

    Google Scholar 

  8. Jansson, P., Jeuring, J.: PolyP - Polytypic programming language extension. In: Proceedings of 24th ACM Symposium on Principles of Programming Languages (POPL 1997), Paris, France, pp. 470–482 (1997)

    Google Scholar 

  9. Liu, C.: Smalltalk, Objects, and Design, pp. x+289. Manning Publications Co., Greenwich (1996) ISBN 1-884777-27-9 (hc).

    Google Scholar 

  10. Milner, R., Tofte, M., Harper, R.W., MacQueen, D.: The Definition of Standard ML. MIT Press, Cambridge (1997) (revised)ISBN 0-262-63181-4

    Google Scholar 

  11. Jones, S.P., et al.: Haskell 98 – A non-strict, purely functional language (February 1999), Available at http://www.haskell.org/onlinereport/

  12. Shi, R., Xi, H.: Some Examples of Structuring Libraries with Parametrized Classes (February 2004), Available at http://www.cs.bu.edu/~hwxi/ATS/lib

  13. Wand, M.: Type Inference for Record Concatenation and Multiple Inheritance. In: Proceedings of Fourth IEEE Symposium on Logic in Computer Science, Pacific Grove, California, pp. 92–97 (1989)

    Google Scholar 

  14. Xi, H., Chen, C., Chen, G.: Guarded Recursive Datatype Constructors. In: Proceedings of the 30th ACM SIGPLAN Symposium on Principles of Programming Languages, New Orleans, January 2003, pp. 224–235 (2003)

    Google Scholar 

  15. Xi, H.: Unifying Object-Oriented Programming with Typed Functional Programming. In: Proceedings of ASIAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (ASIA-PEPM 2002), Aizu-Wakamatsu, Japan, September 2002, pp. 117–125 (2002)

    Google Scholar 

  16. Xi, H.: Applied Type System (July 2003), Available at http://www.cs.bu.edu/~hwxi/ATS

  17. Xi, H.: Applied Type System (extended abstract). In: Berardi, S., Coppo, M., Damiani, F. (eds.) TYPES 2003. LNCS, vol. 3085, pp. 394–408. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chen, C., Shi, R., Xi, H. (2004). A Typeful Approach to Object-Oriented Programming with Multiple Inheritance. In: Jayaraman, B. (eds) Practical Aspects of Declarative Languages. PADL 2004. Lecture Notes in Computer Science, vol 3057. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24836-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24836-1_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22253-8

  • Online ISBN: 978-3-540-24836-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics