First-Class Genericity for Java
William Marsh Rice University, Houston TX
Investigators
Abstract
CCR-0306494 Robert Cartwright William Marsh Rice University The Java platform has won acceptance as a superior vehicle for building software applications, but it is still in the early stages of evolution. Its most serious deficiency is a crude type system which does not support generic types, separates primitive types from object types, and includes the null pointer in every object type. As a result, programmers cannot express many important program invariants in the type system. An improved Java type system could simplify the structure of many Java programs and enable programmers to catch more bugs at compile time. The next major release (1.5) of the Java platform will support a restricted formulation of generic types. While this extension represents a major step forward, restrictions on the use of generic types will prevent them from being used in many important object-oriented coding patterns. In this project, we propose to design and implement a compatible extension of Java 1.5 with a more advanced type system in which generic types can be used anywhere that conventional types can. The extended Java language will enable programmers to express important new data abtractions, to eliminate most type casts, and to catch more bugs at compile time--without compromising program performance.
View original record on NSF Award Search →