2001 · 199 citations · 10 references
ComputingComputer ScienceCompilersProgramming LanguagesSystems ProgrammingAbstract Syntax TreesData TypesGeneric ProgrammingIntermediate RepresentationRuntime SystemsType SystemsExecution EnvironmentGenerics ImplementationParametric PolymorphismPolymorphic RecursionPolymorphic Type SystemsPolymorphic TypesRecursionRuntime Type Systems
The Microsoft.NET Common Language Runtime provides a shared type system, intermediate language and dynamic execution environment for the implementation and inter-operation of multiple source languages. In this paper we extend it with direct support for parametric polymorphism (also known as generics), describing the design through examples written in an extended version of the C# programming language, and explaining aspects of implementation by reference to a prototype extension to the runtime.
10
Making the future safe for the past
Gilad Bracha, Martin Odersky, David Stoutamire et al. · 1998 · 503 citations · Full text
Martin Odersky, Philip Wadler · 1997 · 419 citations · Full text
F-bounded polymorphism for object-oriented programming
Peter S. Canning, William R. Cook, Walter L. Hill et al. · 1989 · 330 citations
Compiling polymorphism using intensional type analysis
Robert Harper, Greg Morrisett · 1995 · 298 citations · Full text
Joseph A. Bank, Andrew C. Myers, Barbara Liskov · 1997 · 251 citations