Subtyping for F-Bounded Quantifiers and Equirecursive Types
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.
KeywordsDecision Procedure Free Variable Equality Rule Ultrametic Space Tree Automaton
Unable to display preview. Download preview PDF.
- [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
- [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
- [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
- [Gle02a]Glew, N.: A theory of second-order trees. In: European Symposium on Programming 2002, Grenoble, France (April 2002)Google Scholar
- [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
- [Gle12]Glew, N.: Subtyping for F-bounded quantifiers and equirecursive types (extended version). arXiv:1202.2486 (February 2012), http://arXiv.org/
- [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