Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
ESOP '94 Selected papers of ESOP '94, the 5th European symposium on Programming
PTCS '01 Proceedings of the International Seminar on Proof Theory in Computer Science
Journal of Functional Programming
Universes for generic programs and proofs in dependent type theory
Nordic Journal of Computing
Containers: constructing strictly positive types
Theoretical Computer Science - Applied semantics: Selected topics
∂ for Data: Differentiating Data Structures
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2003, Selected Papers
Proceedings of the ACM SIGPLAN workshop on Generic programming
Polytypic properties and proofs in Coq
Proceedings of the 2009 ACM SIGPLAN workshop on Generic programming
Arity-generic datatype-generic programming
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
Generic programming with dependent types
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
Formal polytypic programs and proofs
Journal of Functional Programming
Generic programming with dependent types
SSGIP'10 Proceedings of the 2010 international spring school conference on Generic and Indexed Programming
Proceedings of the 9th ACM SIGPLAN workshop on Generic programming
Hi-index | 0.00 |
In order to represent, compute and reason with advanced data types one must go beyond the traditional treatment of data types as being inductive types and, instead, consider them as inductive families. Strictly positive types (SPTs) form a grammar for defining inductive types and, consequently, a fundamental question in the the theory of inductive families is what constitutes a corresponding grammar for inductive families. This paper answers this question in the form of strictly positive families or SPFs. We show that these SPFs can be used to represent and compute with a variety of advanced data types, that generic programs can naturally be written over the universe of SPFs and that SPFs have a normal form in terms of indexed containers which are based upon the shapes and positions metaphor. Finally, we validate ou computational perspective by implementing SPFs in the programming language Epigram and, further, comment on how SPFs provide a meta-language for Epigram's data types.