The programming language Java [AG96] has gained widespread acceptance throughout the computer industry. Java's type system, though, is lacking in flexibility. This lack of flexibility limits the expressiveness of the language, especially for the creation of container classes. To improve Java's expressiveness, we extend its type system through the addition of three constructs: match-bounded parametric polymorphism, ThisType, and exact typing. These constructs allow a programmer to write flexible, extensible, and statically type-safe code. Our current implementation targets the standard Java Virtual Machine through a source-level translation. Translation allows Rupiah programs to be run on existing Java installations, but carries ...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
This paper describes wildcards, a new language construct designed to increase the flexibility of obj...
Java offers the real possibility that most programs can be written in a type-safe language. However,...
. Parametric types and virtual types have recently been proposed as extensions to Java to support ge...
Java 1.5 will include a type system (called JSR-14) that supports parametric polymorphism, or generi...
We propose a conservative extension of the polymorphic lambda calculus ()# * ) as an intermediate la...
Java program adaptation between different APIs is a common task in software development. When an old...
We present a generalization of Java’s parametric polymorphism that enables parameterization of class...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer S...
Java program adaptation between different APIs is a common task in software development. When an old...
We propose to add generic types and methods to the Java programming language. The main benefit of ad...
none2We develop the mechanism of variant parametric types as a means to enhance synergy between para...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
This paper describes wildcards, a new language construct designed to increase the flexibility of obj...
Java offers the real possibility that most programs can be written in a type-safe language. However,...
. Parametric types and virtual types have recently been proposed as extensions to Java to support ge...
Java 1.5 will include a type system (called JSR-14) that supports parametric polymorphism, or generi...
We propose a conservative extension of the polymorphic lambda calculus ()# * ) as an intermediate la...
Java program adaptation between different APIs is a common task in software development. When an old...
We present a generalization of Java’s parametric polymorphism that enables parameterization of class...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer S...
Java program adaptation between different APIs is a common task in software development. When an old...
We propose to add generic types and methods to the Java programming language. The main benefit of ad...
none2We develop the mechanism of variant parametric types as a means to enhance synergy between para...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
This paper describes wildcards, a new language construct designed to increase the flexibility of obj...