A Universe of Strictly Positive Families

In order to represent, compute and reason with advanced data types like lists with a fixed length, finite sets or well scoped λ-terms one must go beyond the traditional treatment of data types as being inductive types and, instead, consider them as inductive families, or more precisely Strictly Positive Families (SPFs). We have previously shown that the grammar of strictly positive types (SPT) can be given as an inductively defined family. In the present paper we go one step further an show that the universe of SPFs can be encoded as an SPF. We show that SPFs can be used to represent and compute with a variety of advanced data types and that generic programs can be naturally written over the universe of SPFs.

[1]  Ralf Hinze,et al.  "Scrap Your Boilerplate" Revolutions , 2006, MPC.

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

[3]  Simon L. Peyton Jones,et al.  Simple unification-based type inference for GADTs , 2006, ICFP '06.

[4]  Johan Jeuring,et al.  PolyP—a polytypic programming language extension , 1997, POPL '97.

[5]  Stephanie Weirich RepLib: a library for derivable type classes , 2006, Haskell '06.

[6]  Thorsten Altenkirch,et al.  Towards Observational Type Theory , 2006 .

[7]  Bengt Nordström,et al.  Programming in Martin-Lo¨f's type theory: an introduction , 1990 .

[8]  James McKinna,et al.  Why dependent types matter , 2006, POPL '06.

[9]  P. Medawar A view from the left , 1984, Nature.

[10]  Peter Dybjer,et al.  Indexed induction-recursion , 2006, J. Log. Algebraic Methods Program..

[11]  Thorsten Altenkirch,et al.  Generic Programming within Dependently Typed Programming , 2002, Generic Programming.

[12]  Ralf Hinze,et al.  Generic Programs and Proofs , 2000 .

[13]  Peter Dybjer,et al.  Universes for Generic Programs and Proofs in Dependent Type Theory , 2003, Nord. J. Comput..

[14]  Simon L. Peyton Jones,et al.  Derivable Type Classes , 2001, Haskell.

[15]  Maurizio Morisio,et al.  Reuse of Off-the-Shelf Components, 9th International Conference on Software Reuse, ICSR 2006, Turin, Italy, June 12-15, 2006, Proceedings , 2006, ICSR.

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

[17]  Peter Dybjer,et al.  A Finite Axiomatization of Inductive-Recursive Definitions , 1999, TLCA.

[18]  Per Martin-Löf,et al.  Intuitionistic type theory , 1984, Studies in proof theory.

[19]  Peter Morris,et al.  Constructing Strictly Positive Families , 2007, CATS.

[20]  Patrik Jansson Functional Polytypic Programming , 2000 .

[21]  Bruno C. d. S. Oliveira,et al.  "Scrap Your Boilerplate" Reloaded , 2006, FLOPS.

[22]  Andres Löh,et al.  Exploring generic Haskell , 2004 .

[23]  Ralf Hinze,et al.  The Generic Haskell user's guide , 2001 .

[24]  Peter Morris,et al.  Exploring the Regular Tree Types , 2004, TYPES.