Design and implementation of lightweight first-class overloading

Katsuhiro Ueno, Atsushi Ohori

Research output: Contribution to journalReview articlepeer-review


This paper describes a lightweight first-class overloading scheme for ML-style functional programming language. On this scheme, overloaded functions are first-class citizens and have polymorphic types with a type kind which denotes the set of instances of the overloaded functions. The type system and the compilation algorithm of this scheme is designed as a small and natural extension to a polymorphic record calculus and its compilation, so it is easy to extend an existing practical programming language and its full-scale compiler with this scheme if the language includes the polymorphic records. The scheme reported in this paper has been implemented in the SML# compiler, which is made available as an open source software.

Original languageEnglish
Pages (from-to)191-210
Number of pages20
JournalComputer Software
Issue number1
Publication statusPublished - 2012

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Design and implementation of lightweight first-class overloading'. Together they form a unique fingerprint.

Cite this