Typing polymorphic recursion - Figueiredo, Lucília Camarão de (2001)
This paper discusses some advantages of supporting polymorphic recursión in programming languages and describes a decidable type inference algorithm for typing polymorphic and possibly mutually recursive definitions, using Haskell to provide an executable high level specification of the algorithm.