Formalization of Generics for the .NET Common Language Runtime

Dachuan Yu, Andrew Kennedy, Don Syme

To appear at Principles of Programming Languages (POPL04), Venice, Italy, January 14-16, 2004


Abstract

We present a formalization of the implementation of generics in the .NET Common Language Runtime (CLR), focusing on two novel aspects of 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 apply advanced type theory, such as Baby IL, Featherweight GJ, and lambdaR, to formalize these aspects 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.


Server START Conference Manager
Update Time 19 Sep 2003 at 17:40:43
Maintainer Xavier.Leroy@inria.fr.
Start Conference Manager
Conference Systems