MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Compatible Genericity with Run-time Types for the Java Programming Language (1998) [67 citations — 6 self]

by Robert Cartwright ,  Guy L. Steele Jr. ,  Sun Microsystems Laboratories
Add To MetaCart

Abstract:

The most serious impediment to writing substantial programs in the Java TM programming language is the lack of a genericity mechanism for abstracting classes and methods with respect to type. During the past two years, several research groups have developed Java extensions that support various forms of genericity, but none has succeeded in accommodating general type parameterization (akin to Java arrays) while retaining compatibility with the existing Java Virtual Machine. In this paper, we explain how to support general type parameterization---including both non-variant and covariant subtyping---on top of the existing Java Virtual Machine at the cost of a larger code footprint and the forwarding of some method calls involving parameterized classes and methods. Our language extension is forward and backward compatible with the Java 1.2 language and run-time environment: programs in the extended language will run on existing Java 1.2 virtual machines (relying only on the unparameteri...

Citations

648 Eiffel: The Language – Meyer - 1992
294 Pizza into Java: Translating theory into practice – Odersky, Wadler - 1997
157 Parameterized Types and Java – Bank, Liskov, et al. - 1996
111 F-Bounded Polymorphism for Object-Oriented Programming – Canning, Cook, et al. - 1989
27 Virtual types are statically safe – Torgersen - 1998
22 Adding parameterized types to Java – Agesen, Freund, et al. - 1997
4 Making the future safe for the past: Adding genericity to the JavaTM programming language – Bracha, Odersky, et al. - 1998