1. The principal type-scheme of an object in combinatory logic;Hindley;Trans. Am. Math. Soc.,1969
2. A theory of type polymorphism in programming;Milner;J. Comput. Syst. Sci.,1978
3. Principal type-schemes for functional programs;Damas,1982
4. Putting type annotations to work;Odersky,1996
5. Practical type inference for arbitrary-rank types;Peyton Jones;J. Funct. Program.,2007