@inproceedings{e1128f1932b6416599834d96eefcdcbd,
title = "Type system for specializing polymorphism",
abstract = "Flexibility of programming and efficiency of program execution are two important features of a programming language. Unfortunately, however, there is an inherent conflict between these features in design and implementation of a modern statically typed programming language. Flexibility is achieved by high-degree of polymorphism, which is based on generic primitives in an abstract model of computation, while efficiency requires optimal use of low-level primitives specialized to individual data structures. The motivation of this work is to reconcile these two features by developing a mechanism for specializing polymorphic primitives based on static type information. We first present a method for coherent transformation of an ML style polymorphic language into an explicitly typed calculus. We then analyze the existing methods for compiling record calculus and unboxed calculus, extract their common structure, and develop a framework for type based specialization of polymorphism.",
author = "Atsushi Ohori",
year = "1997",
month = jan,
day = "1",
doi = "10.1007/BFb0014549",
language = "English",
isbn = "354063388X",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer-Verlag",
pages = "107--137",
editor = "Mart{\'i}n Abadi and Takayasu Ito",
booktitle = "Theoretical Aspects of Computer Software - 3rd International Symposium, TACS 1997, Proceedings",
note = "3rd International Symposium on Theoretical Aspects of Computer Software, TACS 1997 ; Conference date: 23-09-1997 Through 26-09-1997",
}