Abstract
We consider the problems of first-order unification and type inference from a general perspective on problem-solving, namely that of information increase in the problem context. This leads to a powerful technique for implementing type inference algorithms. We describe a unification algorithm and illustrate the technique for the familiar Hindley-Milner type system, but it can be applied to more advanced type systems. The algorithms depend on well-founded contexts: type variable bindings and type-schemes for terms may depend only on earlier bindings. We ensure that unification yields a most general unifier, and that type inference yields principal types, by advancing definitions earlier in the context only when necessary.
Original language | English |
---|---|
Title of host publication | MSFP '10 Proceedings of the third ACM SIGPLAN workshop on Mathematically structured functional programming |
Pages | 43-54 |
Number of pages | 12 |
DOIs | |
Publication status | Published - 2010 |
Event | MSFP 2010 - , United Kingdom Duration: 25 Sept 2010 → 25 Sept 2010 |
Workshop
Workshop | MSFP 2010 |
---|---|
Country/Territory | United Kingdom |
Period | 25/09/10 → 25/09/10 |
Keywords
- algorithms
- theory
- type inference
- first-order unification