Skip to main content

Generalising the BETA type system

  • Conference paper
  • First Online:
ECOOP ’96 — Object-Oriented Programming (ECOOP 1996)

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

Included in the following conference series:

Abstract

The type system of object-oriented programming languages should enable the description of models that originate from object-oriented analysis and design. In this paper, the BETA type system is generalised, resulting in direct language support for a number of new modelling aspects. The increased expressive power is obtained from a synergy between general block structure and the generalised type hierarchy, and not from syntactic additions to the language.

The type hierarchy described in this paper is a superset of the class hierarchy. In order to regain an orthogonal and internally consistent language, we investigate the impact of the new type hierarchy on other parts of the language. The resulting increase in expressive power serves to further narrow the gap between statically and dynamically typed languages, adding among other things more general generics, immutable references, and attributes with types not known until runtime.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. O. Agesen. The Cartesian Product Algorithm: Simple and Precise Type Inference of Parametric Polymorphism. In Proceedings of the Ninth European Conference on Object-Oriented Programming (ECOOP'95), Aarhus, Denmark, August 1995.

    Google Scholar 

  2. O. Agesen, S. FrØlund, and M. Olsen. Persistent and Shared Objects in BETA. Master's thesis, Department of Computer Science, University of Aarhus, April 1989.

    Google Scholar 

  3. A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and Abstract Types in Emerald. IEEE Transactions on Software Engineering, 13(1), January 1987.

    Google Scholar 

  4. S. Brandt and R. W. Schmidt. The Design of a Meta-Level Architecture for the BETA Language. In C. Zimmermann, editor, Advances in Object-Oriented Metalevel Architectures and Reflection. CRC Press Inc, Boca Raton, Florida, 1996.

    Google Scholar 

  5. C. Chambers and D. Ungar. Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs. In Proceedings of the SIGPLAN'90 Conference on Programming Language Design and Implementation, White Plains, NY, June 1990.

    Google Scholar 

  6. O. Dahl, B. Myrhaug, and K. Nygaard. Simula 67 Common Base Language. Pub. 725, Norwegian Computing Center, Oslo, 1984.

    Google Scholar 

  7. O. L. Madsen and B. MØller-Pedersen. Virtual Classes — A Powerful Mechanism in Object-Oriented Programming. In Proceedings of the Fourth Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA '89), volume 24 of Sigplan Notices, October 1989.

    Google Scholar 

  8. O. Madsen, B.Magnusson, and B. Pedersen. Strong typing of Object-Oriented Languages Revisited. In J. Knudsen, O. Madsen, B. Magnusson, and M. Löfgren, editors, Object-Oriented Environments. Prentice Hall, September 1993.

    Google Scholar 

  9. O. L. Madsen, B. MØller-Pedersen, and K. Nygaard. Object-Oriented Programming in the BETA Programming Language. Addison Wesley, Reading, MA, June 1993.

    Google Scholar 

  10. B. Meyer. Eiffel, The Language. Prentice Hall, 1992.

    Google Scholar 

  11. S. Omohundro. The Sather Programming Language. Doctor Dobb's Journal, pages 42–48, October 1993.

    Google Scholar 

  12. N. OxhØj, J. Palsberg, and M. I. Schwartzbach. Making type inference practical. In Proceedings of the Sixth European Conference on Object-Oriented Programming (ECOOP'92), Utrecht, The Netherlands, June 1992.

    Google Scholar 

  13. J. B. Plevyak and A. A. Chien. Precise Concrete Type Inference for Object-Oriented Languages. In Proceedings of the Ninth Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA '94), Portland, OR, October 1995.

    Google Scholar 

  14. D. L. Shang. Covariant Deep Subtyping Reconsidered. ACM SIGPLAN Notices, 30(5):21–28, May 1995.

    Article  MathSciNet  Google Scholar 

  15. B. Stroustrup. The C++ Programming Language. Addison Wesley, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Pierre Cointe

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Brandt, S., Knudsen, J.L. (1996). Generalising the BETA type system. In: Cointe, P. (eds) ECOOP ’96 — Object-Oriented Programming. ECOOP 1996. Lecture Notes in Computer Science, vol 1098. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053072

Download citation

  • DOI: https://doi.org/10.1007/BFb0053072

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61439-5

  • Online ISBN: 978-3-540-68570-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics