Inductive, coinductive, and pointed types

An extension of the simply-typed lambda calculus is presented which contains both well-structured inductive and coinductive types, and which also identifies a class of types for which general recursion is possible. The motivations for this work are certain natural constructions in category theory, in particular the notion of an algebraically bounded functor, due to Freyd. We propose that this is a particularly elegant core language in which to work with recursive objects, since the potential for general recursion is contained in a single operator which interacts well with the facilities for bounded iteration and coiteration.

[1]  John Launchbury,et al.  Parametricity and Unboxing with Unpointed Types , 1996, ESOP.

[2]  Andrew M. Pitts,et al.  Metalanguages and Applications , 1997 .

[3]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[4]  Roy L. Crole,et al.  New foundations for fixpoint computations , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[5]  John C. Mitchell,et al.  Type Systems for Programming Languages , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[6]  P. Freyd Algebraically complete categories , 1991 .

[7]  A. Pitts INTRODUCTION TO HIGHER ORDER CATEGORICAL LOGIC (Cambridge Studies in Advanced Mathematics 7) , 1987 .

[8]  Maarten M. Fokkinga,et al.  Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire , 1991, FPCA.

[9]  Maarten M. Fokkinga,et al.  Program Calculation Properties of Continuous Algebras , 1991 .

[10]  W. Buchholz Iterated Inductive Definitions and Subsystems of Analysis: Recent Proof-theoretical Studies , 1981 .

[11]  J. Girard,et al.  Proofs and types , 1989 .

[12]  Brian T. Howard Fixed points and extensionality in typed functional programming languages , 1992 .

[13]  A. Simpson Recursive types in Kleisli categories , 1992 .

[14]  P. J. Freyd Applications of Categories in Computer Science: Remarks on algebraically compact categories , 1992 .

[15]  Philip S. Mulry,et al.  Lifting Theorems for Kleisli Categories , 1993, MFPS.

[16]  Peter J. Freyd,et al.  Recursive types reduced to inductive types , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[17]  Jan Willem Klop,et al.  Combinatory reduction systems , 1980 .

[18]  Eugenio Moggi,et al.  Computational lambda-calculus and monads , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[19]  Michael Barr,et al.  Algebraically compact functors , 1992 .

[20]  Marcelo P. Fiore Axiomatic domain theory in categories of partial maps , 1994 .

[21]  G. Rota Introduction to higher order categorical logic , 1988 .

[22]  P. S. Mulry Applications of Categories in Computer Science: Strong monads, algebras and fixed points , 1992 .

[23]  Gordon D. Plotkin,et al.  The category-theoretic solution of recursive domain equations , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[24]  Brian T. Howard Inductive, Projective, and Retractive Types , 1993 .