Skip to main content

A Theory of Class

  • Conference paper
OOIS’96
  • 66 Accesses

Abstract

We present a mathematical theory of class. The theory is general, in that it encompasses many different approaches to type abstraction, such as type constructors, generic parameters, classes, inheritance and polymorphism. The theory is elegant, in that it is based on a simple Generalization of F-bounds. The theory has timely implications for emerging OMG standards and future language designs.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Abadi, M. and Cardelli, L., (1995), ‘On subtyping and matching’, Proc. 9th European Conf. Object-Oriented Prog., Aarhus, Denmark, pub. Lecture Notes in Computer Science, 952, ed. W.Olthoff, Springer Verlag, 145–167.

    Google Scholar 

  2. America, P., (1990), ‘Designing an object-oriented language with behavioural subtyping’, Proc. Conf. Foundations of Object-Oriented Lang., 60–90.

    Google Scholar 

  3. Bruce, K., Crabtree, J., Murtagh, T. and van Gen t, R., (1993), ‘Safe and decidable type-checking in an object-oriented language’, Proc. 8th ACM Conf. Object-Oriented Prog. Sys., Lang, and Appl., pub. ACM Sigplan Notices, 28 (10), 29–46.

    Google Scholar 

  4. Bruce, K., (1994), ‘A paradigmatic object-oriented programming language: design, static typing and semantics’, 7. of Func. Prog., 4(2), 127–206.

    Google Scholar 

  5. Canning, P., Cook, W., Hill, W., Olthoff, W. and Mitchell, J., (1989), ‘F-bounded polymorphism for object-oriented programming’, Proc. 4th Int. Conf. Func. Prog. Lang, and Arch., Imperial College London, September, 273–280.

    Google Scholar 

  6. Canning, P., Cook, W., Hill, W. and Olthoff, W., (1989), ‘Interfaces for strongly-typed objectoriented programming’, Proc. 4th ACM Conf. Object-Oriented Prog. Sys., Lang and Appl., pub. ACM Sigplan Notices, 24 (10), 457–467.

    Google Scholar 

  7. Cardelli, L. and Wegner, P., (1985), ‘On understanding types, data abstraction and polymorphism’, ACM Computing Surveys, 17(4 ), 471–521.

    Article  Google Scholar 

  8. Cardelli, L., (1988), ‘Structural subtyping and the notion of power type’, Proc. 15th ACM Symp. Principles of Prog. Langs., 70–79.

    Google Scholar 

  9. Cardelli, L., Donahue, J., Glassman, L., Jordan, M., Kalsow, B. and Nelson, G., (1989), ‘Modula-3 report (revised)’, Tech. Rep. 52, Digital Equipment Corporation Systems Research Centre.

    Google Scholar 

  10. Cook, W., (1989), ‘A proposal for making Eiffel type-safe’, Proc. 3rd European Conf. Object-Oriented Prog., 57–70.

    Google Scholar 

  11. Cook, W., Hill, W. and Canning, P., (1990), ‘Inheritance is not subtyping’, Proc. 17th ACM Symp. Principles of Prog. Lang., 125–135.

    Google Scholar 

  12. Day, M., Gruber, R., Liskov, B. and Meyers, A. C., (1995), ‘Subtypes vs. where clauses: constraining parametric polymorphism’, Proc. 10th ACM Conf. Object-Oriented Prog. Sys., Lang, and Appl., pub. ACM Sigplan Notices 30(10), 156–168.

    Google Scholar 

  13. Eifrig, J., Smith, S., Trivonov, V. and Zwarico, A., (1994), ‘Application of object-oriented type theory: state, decidability and integration’, Proc. 9th ACM Conf. Object-Oriented Prog. Sys.,Lang, and Appl., pub. ACM Sigplan Notices, 29 (10), 16–30.

    Google Scholar 

  14. Girard, J.-Y., (1972), ‘Interpretation fonctionelle et elimination des coupures de l’arithmetique d’ordre superieur’, PhD Thesis, Universite Paris VII.

    Google Scholar 

  15. Ichbiah, J. Et al. (1979), Rationale and design of the programming language Ada’, ACM Sigplan Notices, 14(8).

    Google Scholar 

  16. Liskov, B., (1987), ‘Data abstraction and hierarchy’, Addendum to Proc. 2nd ACM Conf. Object-Oriented Prog. Sys., Lang, and Appl., 17–34.

    Google Scholar 

  17. Meyer, B., (1992), Eiffel: the Language, Prentice Hall.

    Google Scholar 

  18. Meyers, S., (1992), Effective C++: 50 Ways to Improve your Programs and Designs, Addison-Wesley.

    Google Scholar 

  19. Milner, R., (1978), A theory of type polymorphism in programming, J. Computer and System Sciences, 17, 348–375.

    Article  MathSciNet  MATH  Google Scholar 

  20. The Object Management Group (1991), The Common Object Request Broker: Architecture and Specification, Revision 1.1, OMG.

    Google Scholar 

  21. Omohundro, S., (1994), The Sather 1.0 Specification, ICSI Berkley.

    Google Scholar 

  22. Reynolds, J.C., (1974), ‘Towards a theory of type structure’, Proc. Coll. sur la Programmation, pub. LNCS 19, Springer Verlag, 408–425.

    Google Scholar 

  23. Sakkinen, M., (1989), ‘Disciplined inheritance’, Proc. 3rd European Conf. Object-Oriented Prog., 3–24.

    Google Scholar 

  24. Shaffert, C., Cooper, T., Bullis, B., Killian, M. and Wilpolt, C., (1986), “An introduction to Trellis/Owl”, Proc. 1st ACM Conf. Object-Oriented Prog. Sys., Lang, and Appl, 9–16.

    Google Scholar 

  25. Simons, A.J.H., (1995a), ‘Rationalising Eiffel’s type system’, Proc. 18th Conf. Techn. Object-Oriented Lang. and Sys., eds. R Duke, C Mingins and B Meyer, Prentice-Hall, 365–377.

    Google Scholar 

  26. Simons, A. J. H., (1995b), A Language with Class, PhD Thesis, University of Sheffield.

    Google Scholar 

  27. Snyder, A., (1987), ‘Inheritance and the development of encapsulated software components’ in:Research Directions in Object-Oriented Programming, eds. B Shriver and P Wegner, MIT Press, 165–188.

    Google Scholar 

  28. Stroustrup, B., (1991), The C++ Programming Language, 2nd Edn., Addison-Wesley.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag London Limited

About this paper

Cite this paper

Simons, A.J.H. (1997). A Theory of Class. In: Patel, D., Sun, Y., Patel, S. (eds) OOIS’96. Springer, London. https://doi.org/10.1007/978-1-4471-0973-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-0973-0_4

  • Publisher Name: Springer, London

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

  • Online ISBN: 978-1-4471-0973-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics