
Departmental Papers (CIS)
Date of this Version
November 2002
Document Type
Journal Article
Recommended Citation
Vladimir Gapeyev, Michael Y. Levin, and Benjamin C. Pierce, "Recursive subtyping revealed", . November 2002.
Abstract
Algorithms for checking subtyping between recursive types lie at the core of many programming language implementations. But the fundamental theory of these algorithms and how they relate to simpler declarative specifications is not widely understood, due in part to the difficulty of the available introductions to the area. This tutorial paper offers an 'end-to-end' introduction to recursive types and subtyping algorithms, from basic theory to efficient implementation, set in the unifying mathematical framework of coinduction.
Date Posted: 10 September 2005
This document has been peer reviewed.
Comments
Copyright Cambridge University Press. Reprinted from Journal of Functional Programming, Volume 12, Issue 6, November 2002, pages 511-548.
This article also appears as chapter 21 of Types and Programming Languages by Benjamin C. Pierce [MIT Press, 2002].