Abstract
We study subtype checking for recursive types in system kernel Fun, a typed λ-calculus with subtyping and bounded second-order polymorphism. Along the lines of [ACM Transactions on Programming Languages and Systems, 15(4), (1993) 575], we define a subtype relation over kernel Fun recursive types, and prove it to be transitive. We then show that the natural extension of the algorithm introduced in [loc.cit] to compare first-order recursive types yields a non complete algorithm. Finally, we prove the completeness and correctness of a different algorithm, which lends itself to efficient implementations.
| Original language | English |
|---|---|
| Pages (from-to) | 71-147 |
| Number of pages | 77 |
| Journal | Information and Computation |
| Volume | 198 |
| Issue number | 2 |
| DOIs | |
| Publication status | Published - 1 May 2005 |
| Externally published | Yes |
Keywords
- Kernel Fun
- Recursive types
- Subtyping
- Type theory and type systems