Parametric overloading in polymorphic programming languages

  • Stefan Kaes
3. Algebraic Specification And Type Concepts

DOI: 10.1007/3-540-19027-9_9

Part of the Lecture Notes in Computer Science book series (LNCS, volume 300)
Cite this paper as:
Kaes S. (1988) Parametric overloading in polymorphic programming languages. In: Ganzinger H. (eds) ESOP '88. ESOP 1988. Lecture Notes in Computer Science, vol 300. Springer, Berlin, Heidelberg


The introduction of unrestricted overloading in languages with type systems based on implicit parametric polymorphism generally destroys the principal type property: namely that the type of every expression can uniformly be represented by a single type expression over some set of type variables. As a consequence, type inference in the presence of unrestricted overloading can become a NP-complete problem. In this paper we define the concept of parametric overloading as a restricted form of overloading which is easily combined with parametric polymorphism. Parametric overloading preserves the principal type property, thereby allowing the design of efficient type inference algorithms. We present sound type deduction systems, both for predefined and programmer defined overloading. Finally we state that parametric overloading can be resolved either statically, at compile time, or dynamically, during program execution.

Copyright information

© Springer-Verlag 1988

Authors and Affiliations

  • Stefan Kaes
    • 1
  1. 1.Fachbereich InformatikTechnische Hochschule DarmstadtDarmstadt

Personalised recommendations