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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
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.
O. Dahl, B. Myrhaug, and K. Nygaard. Simula 67 Common Base Language. Pub. 725, Norwegian Computing Center, Oslo, 1984.
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.
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.
O. L. Madsen, B. MØller-Pedersen, and K. Nygaard. Object-Oriented Programming in the BETA Programming Language. Addison Wesley, Reading, MA, June 1993.
B. Meyer. Eiffel, The Language. Prentice Hall, 1992.
S. Omohundro. The Sather Programming Language. Doctor Dobb's Journal, pages 42–48, October 1993.
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.
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.
D. L. Shang. Covariant Deep Subtyping Reconsidered. ACM SIGPLAN Notices, 30(5):21–28, May 1995.
B. Stroustrup. The C++ Programming Language. Addison Wesley, 1993.
Author information
Authors and Affiliations
Editor information
Rights 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