Higher-Order Containers

Containers are a semantic way to talk about strictly positive types. In previous work it was shown that containers are closed under various constructions including products, coproducts, initial algebras and terminal coalgebras. In the present paper we show that, surprisingly, the category of containers is cartesian closed, giving rise to a full cartesian closed subcategory of endofunctors. The result has interesting applications in generic programming and representation of higher order abstract syntax. We also show that the category of containers has finite limits, but it is not locally cartesian closed.

[1]  Richard S. Bird,et al.  Generalised folds for nested datatypes , 1999, Formal Aspects of Computing.

[2]  Thorsten Altenkirch,et al.  Foundations of Software Science and Computation Structures: 6th International Conference, FOSSACS 2003 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2003 Warsaw, Poland, April 7–11, 2003 Proceedings , 2003, Lecture Notes in Computer Science.

[3]  Conor McBride,et al.  The view from the left , 2004, Journal of Functional Programming.

[4]  P. Martin-Löf An Intuitionistic Theory of Types: Predicative Part , 1975 .

[5]  Conor McBride,et al.  Proving Properties about Lists Using Containers , 2008, FLOPS.

[6]  Albert R. Meyer,et al.  Papers presented at the IEEE symposium on Logic in computer science , 1994 .

[7]  Thorsten Altenkirch,et al.  Containers: Constructing strictly positive types , 2005, Theor. Comput. Sci..

[8]  Eugenio Moggi Applied semantics: Selected topics , 2005, Theor. Comput. Sci..

[9]  U. Norell,et al.  Towards a practical programming language based on dependent type theory , 2007 .

[10]  G. M. Kelly,et al.  BASIC CONCEPTS OF ENRICHED CATEGORY THEORY , 2022, Elements of ∞-Category Theory.

[11]  Jiří Rosický,et al.  Cartesian closed exact completions , 1999 .

[12]  Peter T. Johnstone,et al.  Connected limits, familial representability and Artin glueing , 1995, Mathematical Structures in Computer Science.

[13]  Peter Morris,et al.  Indexed Containers , 2009, 2009 24th Annual IEEE Symposium on Logic In Computer Science.

[14]  Thorsten Altenkirch,et al.  Constructing Polymorphic Programs with Quotient Types , 2004, MPC.

[15]  Marcelo Fiore,et al.  REFLECTIVE KLEISLI SUBCATEGORIES OF THE CATEGORY OF EILENBERG-MOORE ALGEBRAS FOR FACTORIZATION MONADS , 2005 .

[16]  Thorsten Altenkirch,et al.  for Data: Differentiating Data Structures , 2005, Fundam. Informaticae.

[17]  Thorsten Altenkirch,et al.  Monadic Presentations of Lambda Terms Using Generalized Inductive Types , 1999, CSL.

[18]  Sam Staton,et al.  General Structural Operational Semantics through Categorical Logic , 2008, 2008 23rd Annual IEEE Symposium on Logic in Computer Science.