Rank 2 Intersection for Recursive Definitions

  • Authors:
  • Ferruccio Damiani

  • Affiliations:
  • Dipartimento di Informatica, Università di Torino, Corso Svizzera 185, I-10149 Torino, Italy. E-mail: damiani@di.unito.it

  • Venue:
  • Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Let ⊢ be an intersection type system. We say that a termis ⊢-simple (or just simple when the system ⊢ is clearfrom the context) if system ⊢ can prove that it has a simpletype. In this paper we propose new typing rules and algorithms thatare able to type (with rank 2 intersection types) recursivedefinitions that are not simple. Typing rules for assigningintersection types to (nonsimple) recursive definitions have beenalready proposed in the literature. However, at the best of ourknowledge, previous algorithms for typing recursive definitions inthe presence of intersection types allow only simple recursivedefinitions to be typed. The rules and algorithms proposed in thispaper are also able to type interesting examples of polymorphicrecursion (i.e., recursive definitions rec {x=e} where differentoccurrences of x in e are used with different types). Moreover, theunderlying techniques do not depend on particulars of rank 2intersection, so they can be applied to other type systems.