12th European Conference on Object-Oriented Programming
Brussels, Belgium, July 20 - 24, 1998

Tutorial T12

T1  T2  T3   T4   T5   T6   T7   T8   T9   T10   T11   T12   T13   T14   T15   T16  

Typing in object-oriented languages: Achieving expressiveness and safety

Organizers: Kim Bruce
Williams College
Day: Tuesday morning
Level: Advanced
Room: B215 (3rd floor)

Static typing aids in earlier error detection, supports compiler optimizations, and provides information to programmers on the intended use of constructs. However, simple static-typing disciplines for object-oriented languages like C++, Java, and Object Pascal are so restrictive that programmers are forced to by-pass the type system with type casts. Other languages allow more freedom, but require run-time checking to pick up the type errors that their more permissive systems missed.

After surveying problems with existing type systems (illustrated by a series of sample programs), we suggest ways of improving the expressiveness of these systems while retaining static type safety. Constructs introduced include "bounded polymorphism", "MyType", and "matching". We include a brief discussion on how the type system and semantics ensure type safety. We apply the concepts in the tutorial to compare the strengths and weaknesses of proposals to extend Java to support genericity based on F-bounded polymorphism, where clauses, match-bounded polymorphism, and virtual types.

Kim Bruce is Wells Professor of Computer Science at Williams College in Massachusetts, USA. He received his B.A. from Pomona College and Ph.D. from the University of Wisconsin. He taught at Princeton University before coming to Williams, and has been a visiting professor or scientist at M.I.T., Stanford, Ecole Normale Superieure, the University of Pisa, and the Newton Institute for Mathematical Sciences at Cambridge University.

Bruce's research has included language design, type systems, and semantics for object-oriented languages. He has served twice on the OOPSLA program committee, and has been co-organizer of the FOOL workshops on the Foundations of Object-Oriented Languages from 1993 to present. He has presented papers at the ECOOP, OOPSLA, POPL, MFPS, TACS, and LICS conferences, and currently serves on the editorial board for TAPOS. He was an invited lecturer at the workshop on Advances in Type Systems for Computing at the Newton Institute for Mathematical Science in Cambridge, England, in August, 1995.

ECOOP'98 Home Page | Conference at a Glance | Organization
Technical Programme | Tutorials | Workshops | Panels | Exhibits | Demonstrations | Posters
Social Programme | Partner's Programme | Accommodation | Useful to Know | Registration

Last modified on July 6, 1998. Maintained by the ECOOP'98 information team.