Skip to main content

A Core Calculus of Higher-Order Mixins and Classes

  • Conference paper
Book cover Types for Proofs and Programs (TYPES 2003)

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

Included in the following conference series:

  • 498 Accesses

Abstract

This work presents an object-oriented calculus based on higher-order mixin construction via mixin composition, where some software engineering requirements are modelled in a formal setting allowing to prove the absence of message-not-understood run-time errors. Mixin composition is shown to be a valuable language feature enabling a cleaner object-oriented design and development. In what we believe being quite a general framework, we give directions for designing a programming language equipped with higher-order mixins, although our study is not based on any already existing object-oriented language.

This work has been partially supported by EU within the FET – Global Computing initiative, project MIKADO IST-2001-32222 and project DART IST-2001-33477, and by MIUR projects NAPOLI and PROTOCOLLO. The funding bodies are not responsible for any use that might be made of the results presented here.

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. Ancona, D., Lagorio, G., Zucca, E.: Jam—Designing a Java extension with mixins. ACM Transactions on Programming Languages and Systems 25(5), 641–712 (2003)

    Article  Google Scholar 

  2. Ancona, D., Zucca, E.: A theory of mixin modules: Basic and derived operators. MSCS 8(4), 401–446 (1998)

    MATH  MathSciNet  Google Scholar 

  3. Ancona, D., Zucca, E.: True modules for Java-like languages. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 354–380. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  4. Ancona, D., Zucca, E.: Atheory of mixin modules: Algebraic laws and reduction semantics. Mathematical Structures in Computer Science 12(6), 701–737 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  5. Bak, L., Bracha, G., Grarup, S., Griesemer, R., Griswold, D., Hölzle, U.: Mixins in Strongtalk. In: Proc. of Inheritance Workshop at ECOOP 2002 (2002)

    Google Scholar 

  6. Bettini, L., Bono, V., Likavec, S.: A Core Calculus of Mixin-Based Incomplete Objects. In: Proc. of FOOL, vol. 11 (2004)

    Google Scholar 

  7. Bettini, L., Bono, V., Venneri, B.: Coordinating Mobile Object-Oriented Code. In: Arbab, F., Talcott, C. (eds.) COORDINATION 2002. LNCS, vol. 2315, pp. 56–71. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  8. Bettini, L., Bono, V., Venneri, B.: Subtyping Mobile Classes and Mixins. In: Proc. of Int. Workshops on Foundations of Object-Oriented Languages, FOOL, vol. 10 (2003)

    Google Scholar 

  9. Bono, V.: Type Systems for the Object Oriented Paradigm. PhD thesis, Univ. di Torino (1999)

    Google Scholar 

  10. Bono, V., Patel, A., Shmatikov, V.: A core calculus of classes and mixins. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 43–66. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  11. Bono, V., Patel, A., Shmatikov, V., Mitchell, J.C.: A core calculus of classes and objects. In: Proc. of the 15th Conference on the Mathematical Foundations of Programming Semantics (MFPS 1999). ENTCS, vol. 220, Elsevier, Amsterdam (1999)

    Google Scholar 

  12. Boudol, G.: The recursive record semantics of objects revised. In: Sands, D. (ed.) ESOP 2001. LNCS, vol. 2028, pp. 269–283. Springer, Heidelberg (2001)

    Google Scholar 

  13. Boyen, N., Lucas, C., Steyaert, P.: Generalized mixin-based inheritance to support multiple inheritance. Technical Report vub-prog-tr-94-12, Vrije Universiteit Brussel (1994)

    Google Scholar 

  14. Bracha, G., Cook, W.: Mixin-based inheritance. In: Proc. of OOPSLA/ECOOP, pp. 303–311 (1990)

    Google Scholar 

  15. Bruce, K.: Foundations of Object-Oriented Languages – Types and Semantics. The MIT Press, Cambridge (2002)

    Google Scholar 

  16. Cook, W.R.: A Denotational Semantics of Inheritance. PhD thesis, Brown University (1989)

    Google Scholar 

  17. Crank, E., Felleisen, M.: Parameter-passing and the lambda calculus. In: Proc. POPL 1991, pp. 233–244 (1991)

    Google Scholar 

  18. Felleisen, M., Hieb, R.: The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science 103(2), 235–271 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  19. Flatt, M., Krishnamurthi, S., Felleisen, M.: Classes and mixins. In: Proc. of POPL 1998, pp. 171–183 (1998)

    Google Scholar 

  20. Flatt, M., Krishnamurthi, S., Felleisen, M.: A Programmer’s Reduction Semantics for Classes and Mixins. In: Alves-Foss, J. (ed.) Formal Syntax and Semantics of Java. LNCS, vol. 1523, pp. 241–269. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  21. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  22. Limberghen, M.V., Mens, T.: Encapsulation and composition as orthogonal operators on mixins: a solution to multiple inheritance problems. Object Oriented Systems 3(1) (1996)

    Google Scholar 

  23. Mason, A., Talcott, C.: Programming, transforming, and proving with function abstractions and memories. In: Ronchi Della Rocca, S., Ausiello, G., Dezani-Ciancaglini, M. (eds.) ICALP 1989. LNCS, vol. 372, Springer, Heidelberg (1989)

    Chapter  Google Scholar 

  24. Patel, A.: Obstacl: a language with objects, subtyping, and classes. PhD thesis, Stanford University (2001)

    Google Scholar 

  25. Wright, A., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115(1), 38–94 (1994)

    Article  MATH  MathSciNet  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

Bettini, L., Bono, V., Likavec, S. (2004). A Core Calculus of Higher-Order Mixins and Classes. In: Berardi, S., Coppo, M., Damiani, F. (eds) Types for Proofs and Programs. TYPES 2003. Lecture Notes in Computer Science, vol 3085. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24849-1_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24849-1_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22164-7

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics