Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compatible genericity with run-time types for the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Parametric polymorphism for Java: a reflective solution
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Parametric polymorphism in Java: an approach to translation based on reflective features
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Parametric polymorphism in Java: an efficient implementation for parametric methods
Proceedings of the 2001 ACM symposium on Applied computing
Design and implementation of generics for the .NET Common language runtime
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
DrJava: a lightweight pedagogic environment for Java
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
The case for run-time types in generic Java
PPPJ '02/IRE '02 Proceedings of the inaugural conference on the Principles and Practice of programming, 2002 and Proceedings of the second workshop on Intermediate representation engineering for virtual machines, 2002
Efficient Implementation of Run-time Generic Types for Java
Proceedings of the IFIP TC2/WG2.1 Working Conference on Generic Programming
Deriving components from genericity
Proceedings of the 2007 ACM symposium on Applied computing
Reifying wildcards in Java using the EGO approach
Proceedings of the 2007 ACM symposium on Applied computing
Component nextgen: a sound and expressive component framework for java
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
On the reification of Java wildcards
Science of Computer Programming
Lime: a Java-compatible and synthesizable language for heterogeneous architectures
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
DrHJ: a lightweight pedagogic IDE for Habanero Java
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Fast method dispatch and effective use of primitives for reified generics in managed X10
Proceedings of the 2012 ACM SIGPLAN X10 Workshop
Miniboxing: improving the speed to code size tradeoff in parametric polymorphism translations
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Reified type parameters using Java annotations
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Hi-index | 0.00 |
The second-class formulation of generics in Java 5.0 discards generic type information during compilation. As a result, Java 5.0 prohibits run-time type-dependent operations, generates unavoidable unchecked warnings (type errors) during compilation, and causes unexpected behavior during execution. The NEXTGEN Generic Java compiler eliminates these pathologies by retaining parametric type information at runtime and customizing the code in generic classes and polymorphic methods where necessary to support (parametric) type-dependent operations. NEXTGEN is a production compiler for the entire Java 5.0 language; it executes on standard JVMs and is backward compatible with existing libraries and other binaries. Benchmarks show that the first-class implementation of generic types in NEXTGEN has essentially the same performance as Java 5.0 and significanlty outperforms alternative first-class implementation architectures.