Subtyping for F-Bounded Quantifiers and Equirecursive Types

  • Neal Glew
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7230)

Abstract

Equirecursive types consider a recursive type to be equal to its unrolling and have no explicit term-level coercions to change a term’s type from the former to the latter or vice versa. This equality makes deciding type equality and subtyping more difficult than the other approach—isorecursive types, in which the types are not equal, but isomorphic, witnessed by explicit term-level coercions. Previous work has built intuition, rules, and polynomial-time decision procedures for equirecursive types for first-order type systems. Some work has been done for type systems with parametric polymorphism, but that work is incomplete (see below). This chapter will give an intuitive theory of equirecursive types for second-order type systems, sound and complete rules, and a decision procedure for subtyping.

Keywords

Decision Procedure Free Variable Equality Rule Ultrametic Space Tree Automaton 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AC93]
    Amadio, R., Cardelli, L.: Subtyping recursive types. ACM Transactions on Progamming Languages and Systems 15(4), 575–631 (1993)CrossRefGoogle Scholar
  2. [CCH+89]
    Canning, P., Cook, W., Hill, W., Mitchell, J., Olthoff, W.: F-bounded quantification for object-oriented programming. In: 4th ACM Conference on Functional Programming and Computer Architecture, London, UK, pp. 273–280. ACM Press (September 1989)Google Scholar
  3. [CG99]
    Colazzo, D., Ghelli, G.: Subtyping recursive types in kernel fun. In: 1999 Symposium on Logic in Computer Science, Trento, Italy, pp. 137–146 (July 1999)Google Scholar
  4. [Gle00]
    Glew, N.: An efficient class and object encoding. In: ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Minneapolis, MN, USA. ACM Press (October 2000)Google Scholar
  5. [Gle02a]
    Glew, N.: A theory of second-order trees. In: European Symposium on Programming 2002, Grenoble, France (April 2002)Google Scholar
  6. [Gle02b]
    Glew, N.: A theory of second-order trees. Technical Report TR2001-1859, Department of Computer Science, Cornell University, 4130 Upson Hall, Ithaca, NY 14853-7501, USA (January 2002)Google Scholar
  7. [Gle12]
    Glew, N.: Subtyping for F-bounded quantifiers and equirecursive types (extended version). arXiv:1202.2486 (February 2012), http://arXiv.org/
  8. [GP04]
    Gauthier, N., Pottier, F.: Numbering matters: First-order canonical forms for second-order recursive types. In: 9th ACM SIGPLAN International Conference on Functional Programming, Snowbird, UT, USA, pp. 150–161. ACM Press (September 2004)Google Scholar
  9. [KPS95]
    Kozen, D., Palsberg, J., Schwartzbach, M.: Efficient recursive subtyping. Mathematical Structures in Computer Science 5(1), 113–125 (1995)MathSciNetMATHCrossRefGoogle Scholar
  10. [Pie94]
    Pierce, B.: Bounded quantification is undecidable. Information and Computation 112, 131–165 (1994)MathSciNetMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Neal Glew
    • 1
  1. 1.Intel LabsSanta ClaraUSA

Personalised recommendations