| tutorials | monday morning |
50 |
Typing in Object-Oriented Languages: Achieving Expressiveness and Safety |
Convention Centre Room 18 |
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++ and Java 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 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.
Attendee Background: Attendees should be comfortable with the concepts of class-based object-oriented programming languages and have experience with static typing systems. The tutorial is aimed at programmers who would like the flexibility of weakly or dynamically typed languages, but the error detection and efficiency of statically-typed languages, as well as language designers and others who would like to see the applications of type theory to language design.
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. He has worked on the semantics of object-oriented languages for over 10 years, and provably-safe type systems for object-oriented languages for the last 7 years. He has presented papers at the ECOOP, OOPSLA, POPL, MFPS, and LICS conferences, and currently serves on the editorial board for TAPOS. He presented similar tutorials at OOPSLA'96 and at ECOOP'96 and '98.
Other advanced language-related tutorials are:
| Tutorials by Title |
Tutorials
by Category |
Tutorials by Thread |
Full
Description of all Tutorials |
Tutorial Availability |