In programming language research, normalization is a process of fundamental importance to the theory of computing and reasoning about programs.In practice, on the other hand, compilation is a process that transforms programs in a language to machine code, and thus makes the programminglanguage a usable one. In this thesis, we investigate means of normalizing and compiling programs in a language using another language as the "host".Leveraging a host to work with programs of a "guest" language enables reuse of the host\u27s features that would otherwise be strenuous to develop.The specific tools of interest are Normalization by Evaluation and Embedded Domain-Specific Languages, both of which rely on a host language for their purposes. These t...
The introduction of new features to a programming language often requires that its compiler goes to ...
Languages shape thoughts. This is true for human spoken languages as much as for programming languag...
International audienceWe show how testing convertibility of two types in dependently typed systems c...
This thesis presents a critical analysis of normalisation by evaluation as a technique for speeding...
For automation it is important to express the knowledge of the experts in a form that is understood ...
All computers run software, such as operating systems, web browsers, and video games, which are used...
Language extensions increase programmer productivity by providing concise, often domain-specific syn...
33 pagesIn this paper, we build an interpreter by reusing host language functions instead of recodin...
The trade-offs between the use of modern high-level and low-level programming languages in construct...
We present a simple way to implement typed abstract syntax for thelambda calculus in Haskell, using ...
There are domain-specific libraries for many domains, enabling rapid and cost-effective de-velopment...
Domain specific languages (DSLs) are mini-languages that are increasingly seen as being a valuable t...
The following is understood as a contribution toward a field of com- puter science education : a ref...
Languages shape thoughts. This is true for human spoken languages as much as for programming languag...
We discuss several approaches for defining software languages, together with Integrated Development ...
The introduction of new features to a programming language often requires that its compiler goes to ...
Languages shape thoughts. This is true for human spoken languages as much as for programming languag...
International audienceWe show how testing convertibility of two types in dependently typed systems c...
This thesis presents a critical analysis of normalisation by evaluation as a technique for speeding...
For automation it is important to express the knowledge of the experts in a form that is understood ...
All computers run software, such as operating systems, web browsers, and video games, which are used...
Language extensions increase programmer productivity by providing concise, often domain-specific syn...
33 pagesIn this paper, we build an interpreter by reusing host language functions instead of recodin...
The trade-offs between the use of modern high-level and low-level programming languages in construct...
We present a simple way to implement typed abstract syntax for thelambda calculus in Haskell, using ...
There are domain-specific libraries for many domains, enabling rapid and cost-effective de-velopment...
Domain specific languages (DSLs) are mini-languages that are increasingly seen as being a valuable t...
The following is understood as a contribution toward a field of com- puter science education : a ref...
Languages shape thoughts. This is true for human spoken languages as much as for programming languag...
We discuss several approaches for defining software languages, together with Integrated Development ...
The introduction of new features to a programming language often requires that its compiler goes to ...
Languages shape thoughts. This is true for human spoken languages as much as for programming languag...
International audienceWe show how testing convertibility of two types in dependently typed systems c...