Abstract
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 language | English |
---|---|
Pages (from-to) | 191-210 |
Number of pages | 20 |
Journal | Computer Software |
Volume | 29 |
Issue number | 1 |
Publication status | Published - 2012 |
ASJC Scopus subject areas
- Software