PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Substitution up to isomorphism
Fundamenta Informaticae - Special issue: lambda calculus and type theory
Shapely Types and Shape Polymorphism
ESOP '94 Proceedings of the 5th European Symposium on Programming: Programming Languages and Systems
A Set Constructor for Inductive Sets in Martin-Löf's Type Theory
Category Theory and Computer Science
Containers: constructing strictly positive types
Theoretical Computer Science - Applied semantics: Selected topics
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Modularising inductive families
Proceedings of the seventh ACM SIGPLAN workshop on Generic programming
A foundation for GADTs and inductive families: dependent polynomial functor approach
Proceedings of the seventh ACM SIGPLAN workshop on Generic programming
Transporting functions across ornaments
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
Ornaments aim at taming the multiplication of special-purpose data types in dependently typed programming languages. In type theory, purpose is logic. By presenting data types as the combination of a structure and a logic, ornaments relate these special-purpose data types through their common structure. In the original presentation, the concept of ornament was introduced concretely for an example universe of inductive families in type theory, but it was clear that the notion was more general. This paper digs out the abstract notion of ornaments in the form of a categorical model. As a necessary first step, we abstract the universe of data types using the theory of polynomial functors. We are then able to characterise ornaments as cartesian morphisms between polynomial functors. We thus gain access to powerful mathematical tools that shall help us understand and develop ornaments. We shall also illustrate the adequacy of our model. Firstly, we rephrase the standard ornamental constructions into our framework. Thanks to its conciseness, we gain a deeper understanding of the structures at play. Secondly, we develop new ornamental constructions, by translating categorical structures into type theoretic artefacts.