Unboxed objects and polymorphic typing
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiling polymorphism using intensional type analysis
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Flexible representation analysis
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adding type parameterization to the Java language
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
From system F to typed assembly language
POPL '98 Proceedings of the 25th 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
Compiling standard ML to Java bytecodes
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Intensional polymorphism in type-erasure semantics
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Featherweight Java: a minimal core calculus for Java and GJ
Proceedings of the 14th 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
Typing a multi-language intermediate code
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Design and implementation of generics for the .NET Common language runtime
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Java Virtual Machine Specification
Java Virtual Machine Specification
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Formal Techniques for Java-like Programs
ECOOP '02 Proceedings of the Workshops and Posters on Object-Oriented Technology
TIC '98 Proceedings of the Second International Workshop on Types in Compilation
Concurrency and Computation: Practice & Experience - Formal Techniques for Java-like Programs
Adventures in interoperability: the SML.NET experience
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Converting java programs to use generic libraries
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Parametric polymorphism for software component architectures
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Formalising Java RMI with explicit code mobility
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
cJ: enhancing java with safe type conditions
Proceedings of the 6th international conference on Aspect-oriented software development
Typed parametric polymorphism for aspects
Science of Computer Programming - Special issue: Foundations of aspect-oriented programming
Lost in translation: formalizing proposed extensions to c#
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Formalising Java RMI with explicit code mobility
Theoretical Computer Science
Genericity in Java: persistent and database systems implications
The VLDB Journal — The International Journal on Very Large Data Bases
The Java 5 generics compromise orthogonality to keep compatibility
Journal of Systems and Software
On the reification of Java wildcards
Science of Computer Programming
Algebraic specification techniques for parametric types with logic-based constraints
Proceedings of the 2009 ACM symposium on Applied Computing
Prototype details of the smartphone-based researcher's companion software (RCS)
Journal of Computational Methods in Sciences and Engineering
JavaGI in the battlefield: practical experience with generalized interfaces
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Effective and Efficient Compilation of Run-Time Generics in Java
Electronic Notes in Theoretical Computer Science (ENTCS)
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
JavaGI: The Interaction of Type Classes with Interfaces and Inheritance
ACM Transactions on Programming Languages and Systems (TOPLAS)
A typed, compositional logic for a stack-based abstract machine
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
The essence of data access in Cω: the power is in the dot!
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Type safety of generics for the .NET common language runtime
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Lightweight generics in embedded systems through static analysis
Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems
SSGIP'10 Proceedings of the 2010 international spring school conference on Generic and Indexed Programming
JavaGI: generalized interfaces for java
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
We present a formalization of the implementation of generics in the .NET Common Language Runtime (CLR), focusing on two novel aspectsof the implementation: mixed specialization and sharing, and efficient support for run-time types. Some crucial constructs used in the implementation are dictionaries and run-time type representations. We formalize these aspects type-theoretically in a way that corresponds in spirit to the implementation techniques used in practice. Both the techniques and the formalization also help us understand the range of possible implementation techniques for other languages, e.g., ML, especially when additional source language constructs such as run-time types are supported. A useful by-product of this study is a type system for a subset of the polymorphic IL proposed for the .NET CLR.