Object-Oriented Type Systems

Jens Palsberg, Michael I. Schwartzbach

Type systems are required to ensure reliability and efficiency of software.

For object-oriented languages, typing is an especially challenging problem because of inheritance, assignment, and late binding. Existing languages employ different type systems, and it can be difficult to compare, evaluate and improve them, since there is currently no uniform theory for such languages. This book provides such a theory. The authors review the type systems of Simula, Smalltalk, C++ and Eiffel and present a type system that generalizes and explains them. The theory is based on an idealized object-oriented language called BOPL (Basic Object Programming Language), containing common features of the above languages. A type system, type inference algorithm, and typings of inheritance and genericity are provided for BOPL. Throughout, the results are related to the languages on which BOPL is based. This text offers advanced undergraduates and professional software developers a sound understanding of the key aspects of object-oriented type systems. All algorithms are implemented in a freely available workbench, adding enormous practical value. Numerous exercises and a clear writing style will enhance its appeal to the student.

Table of Contents

  • Object-Oriented Languages and Type Systems.
  • The BOPL Language.
  • Type Checking.
  • Type Inference.
  • Inheritance.
  • Genericity.
  • Appendices.
  • References.
  • Index.

Online Ordering


Other ordering options are available.

Copyright © 1999 John Wiley & Sons, Wiley Computer Books


ISBN 047194128X
192 pages
January, 1994

Object Technology