Type system for specializing polymorphism

Atsushi Ohori

Research output: Chapter in Book/Report/Conference proceedingConference contribution


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.

Original languageEnglish
Title of host publicationTheoretical Aspects of Computer Software - 3rd International Symposium, TACS 1997, Proceedings
EditorsMartín Abadi, Takayasu Ito
Number of pages31
ISBN (Print)354063388X, 9783540633884
Publication statusPublished - 1997 Jan 1
Externally publishedYes
Event3rd International Symposium on Theoretical Aspects of Computer Software, TACS 1997 - Sendai, Japan
Duration: 1997 Sept 231997 Sept 26

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Other3rd International Symposium on Theoretical Aspects of Computer Software, TACS 1997

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)


Dive into the research topics of 'Type system for specializing polymorphism'. Together they form a unique fingerprint.

Cite this