Higher-order unification, polymorphism, and subsorts

10Citations
Citations of this article
16Readers
Mendeley users who have this article in their library.
Get full text

Abstract

This paper analyzes the problems that arise in extending Huet's higher-order unification algorithm from the simply typed λ-calculus to one with type variables. A simple, incomplete, but in practice very useful extension to Huet's algorithm is discussed. This extension takes an abstract view of types. As a particular instance we explore a type system with ml-style polymorphism enriched with a notion of sorts. Sorts are partially ordered and classify types, thus giving rise to an order-sorted algebra of types. Type classes in the functional language Haskell can be understood as sorts in this sense. Sufficient conditions on the sort structure to ensure the existence of principal types are discussed. Finally we suggest a new type system for the λ-calculus which may pave the way to a complete unification algorithm for polymorphic terms.

Cite

CITATION STYLE

APA

Nipkow, T. (1991). Higher-order unification, polymorphism, and subsorts. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 516 LNCS, pp. 436–447). Springer Verlag. https://doi.org/10.1007/3-540-54317-1_112

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free