Technical reports
Type classes and overloading resolution via order-sorted unification
Tobias Nipkow, Gregor Snelting
August 1990, 16 pages
| DOI | https://doi.org/10.48456/tr-200 |
Abstract
We present a type inference algorithm for a haskell-like language based on order-sorted unification. The language features polymorphism, overloading, type classes and multiple inheritance. Class and instance declarations give rise to an order-sorted algebra of types. Type inference esentially reduces to the Hindley/Milner algorithm where unification takes place in this order-sorted algebra of types. The theory of order-sorted unification provides simple sufficient conditions which ensure the existence of principal types. The semantics of the language is given by a translation into ordinary λ-calculus. We prove the correctness of our type inference algorithm with respect to this semantics.
Full text
PDF (1.3 MB)
BibTeX record
@TechReport{UCAM-CL-TR-200,
author = {Nipkow, Tobias and Snelting, Gregor},
title = {{Type classes and overloading resolution via order-sorted
unification}},
year = 1990,
month = aug,
url = {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-200.pdf},
institution = {University of Cambridge, Computer Laboratory},
doi = {10.48456/tr-200},
number = {UCAM-CL-TR-200}
}