Datatype-generic programming is natural and useful in dependently typed languages such as Agda. However, datatype-generic libraries in Agda are not reused as much as they should be, because traditionally they work only on datatypes decoded from a library’s own version of datatype descriptions; this means that different generic libraries cannot be used together, and they do not work on native datatypes, which are preferred by the practical Agda programmer for better language support and access to other libraries. Based on elaborator reflection, we present a framework in Agda featuring a set of general metaprograms for instantiating datatype-generic programs as, and for, a useful range of native datatypes and functions —including universe-pol...
Datatype-generic programming involves parametrization of programs by the shape of data, in the form ...
Dependently typed programming languages allow the type system to express arbitrary propositions of i...
A leitmotif in the evolution of programming paradigms has been the level and extent of parametrisati...
Datatype-generic programming is natural and useful in dependently typed languages such as Agda. Howe...
Datatype-generic programming is natural and useful in dependently typed languages such as Agda. Howe...
Datatype-generic programming makes it possible to define a construction once and apply it to a large...
Modern dependently typed functional programming languages like Agda allow very specific restrictions...
Datatype-generic programming is a widely used technique to define functions that work regularly over...
Datatype-generic programming is a widely used technique to define functions that work regularly over...
Datatype-generic programming in the dependently typed setting can be achieved using the universe con...
This thesis aims at making Datatype Generic Programming more useful in practice. We extend the fixed...
Some programs are doubly-generic. For example, map is datatypegeneric in that many different data st...
Generic programming aims to increase the flexibility of programming languages, by expanding the poss...
Generic programming consists of increasing the expressiveness of programs by allowing a wider variet...
Datatype-generic programming involves parametrization of programs by the shape of data, in the form ...
Datatype-generic programming involves parametrization of programs by the shape of data, in the form ...
Dependently typed programming languages allow the type system to express arbitrary propositions of i...
A leitmotif in the evolution of programming paradigms has been the level and extent of parametrisati...
Datatype-generic programming is natural and useful in dependently typed languages such as Agda. Howe...
Datatype-generic programming is natural and useful in dependently typed languages such as Agda. Howe...
Datatype-generic programming makes it possible to define a construction once and apply it to a large...
Modern dependently typed functional programming languages like Agda allow very specific restrictions...
Datatype-generic programming is a widely used technique to define functions that work regularly over...
Datatype-generic programming is a widely used technique to define functions that work regularly over...
Datatype-generic programming in the dependently typed setting can be achieved using the universe con...
This thesis aims at making Datatype Generic Programming more useful in practice. We extend the fixed...
Some programs are doubly-generic. For example, map is datatypegeneric in that many different data st...
Generic programming aims to increase the flexibility of programming languages, by expanding the poss...
Generic programming consists of increasing the expressiveness of programs by allowing a wider variet...
Datatype-generic programming involves parametrization of programs by the shape of data, in the form ...
Datatype-generic programming involves parametrization of programs by the shape of data, in the form ...
Dependently typed programming languages allow the type system to express arbitrary propositions of i...
A leitmotif in the evolution of programming paradigms has been the level and extent of parametrisati...