Towards Partial Evaluation of Full Scheme (1996)
| Venue: | Reflection 96 |
| Citations: | 12 - 4 self |
BibTeX
@INPROCEEDINGS{Thiemann96towardspartial,
author = {Peter Thiemann},
title = {Towards Partial Evaluation of Full Scheme},
booktitle = {Reflection 96},
year = {1996},
pages = {95--106}
}
OpenURL
Abstract
We present a binding-time analysis for Scheme which enables an offline partial evaluator to successfully treat Scheme's reflective features eval, apply, and the control operator call/cc. Additionally, our analysis empowers the specializer to select the most efficient representation for each object. This removes some limitations of previous specializers regarding the use of higher-order functions. The theoretical development is backed by an implementation. Keywords: partial evaluation of reflective language features, meta-computation The programming language Scheme [20] is an ideal vehicle for meta-computation, specifically for partial evaluation. Part of the appropriateness of Scheme for meta-computation tasks derives from its reflective features: eval [27], which reflects the external representation of, say, a procedure to a functional value, apply, which reflects lists to argument lists, and call/cc 1 , which makes the continuation of the current expression available as a proced...







