Recursive subtyping revealed

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.

[1]  Jens Palsbergypalsberg,et al.  Eecient Recursive Subtyping , 1993 .

[2]  Carl A. Gunter Semantics of programming languages: structures and techniques , 1993, Choice Reviews Online.

[3]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[4]  Benjamin C. Pierce,et al.  Regular expression types for XML , 2000, TOPL.

[5]  Martín Abadi,et al.  Syntactic considerations on recursive types , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[6]  C. Pollard,et al.  Center for the Study of Language and Information , 2022 .

[7]  Glynn Winskel,et al.  The formal semantics of programming languages - an introduction , 1993, Foundation of computing series.

[8]  M. Arbib,et al.  Arrows, Structures, and Functors: The Categorical Imperative , 1975 .

[9]  Jens Palsberg,et al.  Efficient recursive subtyping , 1992, POPL '93.

[10]  Peter Aczel,et al.  An Introduction to Inductive Definitions , 1977 .

[11]  Lawrence S. Moss,et al.  Vicious circles - on the mathematics of non-wellfounded phenomena , 1996, CSLI lecture notes series.

[12]  Karl Crary,et al.  What is a recursive module? , 1999, PLDI '99.

[13]  James H. Morris,et al.  Lambda-calculus models of programming languages. , 1969 .

[14]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[15]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[16]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[17]  Giorgio Ghelli,et al.  Recursive types are not conservative over FSub , 1993 .

[18]  Giorgio Ghelli Recursive Types Are not Conservative over F , 1993, TLCA.

[19]  Gordon D. Plotkin,et al.  An Ideal Model for Recursive Polymorphic Types , 1986, Inf. Control..

[20]  J. Barwise,et al.  The Liar: An Essay on Truth and Circularity , 1987 .

[21]  John C. Mitchell,et al.  Foundations for programming languages , 1996, Foundation of computing series.

[22]  B. Courcelle Fundamental properties of infinite trees , 1983 .

[23]  Luca Cardelli,et al.  Subtyping recursive types , 1991, POPL '91.

[24]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[25]  Andrew D. Gordon A Tutorial on Co-induction and Functional Programming , 1994, Functional Programming.

[26]  Mario Coppo,et al.  Type Inference with Recursive Types: Syntax and Semantics , 1991, Inf. Comput..

[27]  Robin Milner,et al.  Co-Induction in Relational Semantics , 1991, Theor. Comput. Sci..

[28]  T. Jim,et al.  Type inference in systems of recursive types with subtyping , 1997 .

[29]  Fritz Henglein,et al.  Coinductive Axiomatization of Recursive Type Equality and Subtyping , 1998, Fundam. Informaticae.