Generating a Compiler for a Lazy Language by Partial Evaluation (1992)
| Citations: | 20 - 2 self |
BibTeX
@MISC{Jørgensen92generatinga,
author = {Jesper Jørgensen},
title = {Generating a Compiler for a Lazy Language by Partial Evaluation},
year = {1992}
}
Years of Citing Articles
OpenURL
Abstract
Compiler generation is often emphasized as being the most important application of partial evaluation. But most of the larger practical applications have, to the best of our knowledge, been outside this field. Especially, no one has generated compilers for languages other that small languages. This paper describes a large application of partial evaluation where a realistic compiler was generated for a strongly typed lazy functional language. The language, that was called BAWL, was modeled after the language in Bird and Wadler [BW88] and is a combinator language with pattern matching, guarded alternatives, local definitions and list comprehensions. The paper describes the most important techniques used, especially the binding time improvements needed in order to get small and efficient target programs. Finally, the performance of the compiler is compared with two compilers for similar languages: Miranda and LML. Keywords Compiler generation, partial evaluation, binding time improvemen...







