12th European Conference on Object-Oriented Programming |
|
Tutorial T12 |
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.