This dissertation describes a novel approach to safe meta-programming. A meta-program is a program which processes programs or similar data. Compilers and theorem provers are prime examples of meta-programs which could benefit from this approach. To this end, this work focuses on the representation of names and binders in data structures. Programming errors are really easy to make with usual techniques. We propose an abstract interface to names and binders that rules out these errors. This interface is implemented as a library in Agda. It allows defining and manipulating term representations in nominal style. Thanks to abstraction, other styles are supported as well: the de Bruijn style, the combinations of these styles, and more. Whereas i...
Applications that manipulate programs as data are called meta programs. Examples of meta programs ar...
AbstractWe study a semantics for untyped, vanilla metaprograms, using the nonground representation f...
Datatype-generic programming makes it possible to define a construction once and apply it to a large...
This dissertation describes a novel approach to safe meta-programming. A meta-program is a program w...
International audienceAtoms and de Bruijn indices are two well-known representation techniques for d...
A wide range of computer programs, including compilers and the-orem provers, manipulate data structu...
By allowing the programmer to write code that can generate code at run-time, meta-programming offers...
Meta-programming is a discipline of writing programs in a certain programming language that generate...
We report on work in progress in building an environment for the validation of the meta-theory of pr...
Meta-programming extends logic programming with the possibility of having a program to create or ana...
Datatype-generic programming is natural and useful in dependently typed languages such as Agda. Howe...
Datatype-generic programming in the dependently typed setting can be achieved using the universe con...
Datatype-generic programming is natural and useful in dependently typed languages such as Agda. Howe...
In meta-programming with concrete object syntax, meta programs can be written using the concrete syn...
Formalizing meta-theory, or proofs about programming languages, in a proof assistant has many well-k...
Applications that manipulate programs as data are called meta programs. Examples of meta programs ar...
AbstractWe study a semantics for untyped, vanilla metaprograms, using the nonground representation f...
Datatype-generic programming makes it possible to define a construction once and apply it to a large...
This dissertation describes a novel approach to safe meta-programming. A meta-program is a program w...
International audienceAtoms and de Bruijn indices are two well-known representation techniques for d...
A wide range of computer programs, including compilers and the-orem provers, manipulate data structu...
By allowing the programmer to write code that can generate code at run-time, meta-programming offers...
Meta-programming is a discipline of writing programs in a certain programming language that generate...
We report on work in progress in building an environment for the validation of the meta-theory of pr...
Meta-programming extends logic programming with the possibility of having a program to create or ana...
Datatype-generic programming is natural and useful in dependently typed languages such as Agda. Howe...
Datatype-generic programming in the dependently typed setting can be achieved using the universe con...
Datatype-generic programming is natural and useful in dependently typed languages such as Agda. Howe...
In meta-programming with concrete object syntax, meta programs can be written using the concrete syn...
Formalizing meta-theory, or proofs about programming languages, in a proof assistant has many well-k...
Applications that manipulate programs as data are called meta programs. Examples of meta programs ar...
AbstractWe study a semantics for untyped, vanilla metaprograms, using the nonground representation f...
Datatype-generic programming makes it possible to define a construction once and apply it to a large...