FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Shortcut deforestation in calculational form
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Warm fusion: deriving build-catas from recursive definitions
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Deriving structural hylomorphisms from recursive definitions
Proceedings of the first ACM SIGPLAN international conference on Functional programming
PolyP—a polytypic programming language extension
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Generic Programming within Dependently Typed Programming
Proceedings of the IFIP TC2/WG2.1 Working Conference on Generic Programming
A Typed Lambda Calculus with Categorical Type Constructors
Category Theory and Computer Science
Abstract Syntax and Variable Binding
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
de Bruijn notation as a nested datatype
Journal of Functional Programming
Journal of Functional Programming
Universes for generic programs and proofs in dependent type theory
Nordic Journal of Computing
Monadic augment and generalised short cut fusion
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Fast and loose reasoning is morally correct
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Iteration and coiteration schemes for higher-order and nested datatypes
Theoretical Computer Science - Foundations of software science and computation structures
∂ for Data: Differentiating Data Structures
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2003, Selected Papers
Foundations for structured programming with GADTs
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
The third homomorphism theorem on trees: downward & upward lead to divide-and-conquer
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Algebraic fusion of functions with an accumulating parameter and its improvement
Journal of Functional Programming
Complete and decidable type inference for GADTs
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
LICS '09 Proceedings of the 2009 24th Annual IEEE Symposium on Logic In Computer Science
Language Engineering and Rigorous Software Development
Dependently typed programming in Agda
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
Scrap your zippers: a generic zipper for heterogeneous types
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Adjoint folds and unfolds: or: scything through the thicket of morphisms
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Mathematical models of computational and combinatorial structures
FOSSACS'05 Proceedings of the 8th international conference on Foundations of Software Science and Computation Structures
Epigram: practical programming with dependent types
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
Discrete generalised polynomial functors
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part II
A Categorical Treatment of Ornaments
LICS '13 Proceedings of the 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science
Hi-index | 0.00 |
Every Algebraic Datatype (ADT) is characterised as the initial algebra of a polynomial functor on sets. This paper extends the characterisation to the case of more advanced datatypes: Generalised Algebraic Datatypes (GADTs) and Inductive Families. Specifically, we show that GADTs and Inductive Families are characterised as initial algebras of dependent polynomial functors. The theoretical tool we use throughout is an abstract notion of polynomial between sets together with its associated general form of polynomial functor between categories of indexed sets introduced by Gambino and Hyland. In the context of ADTs, this fundamental result is the basis for various generic functional programming techniques. To establish the usefulness of our approach for such developments in the broader context of inductively defined dependent types, we apply the theory to construct zippers for Inductive Families.