Technical Report (TR94-11) Cover Page

Department of Information Science, Faculty of Science, University of Tokyo
Roles of a Partial Evaluator for the Reflective Language Black
Kenichi Asai, Satoshi Matsuoka, and Akinori Yonezawa
Key words and phrases:
reflection, partial evaluation, metacircular interpreter, direct execution, interpretation, infinite regression
A reflective language allows us to access its interpreter to dynamically modify or extend the language semantics froma within the same language. In the previous paper, we implemented a reflective language called Black, and showed that a directly executable interpreter can be implemented by duplicating and partially evaluating the metalevel interpreters without losing changeability. In this paper, we will concentrate on the partial evaluator and show that it can be used not only to construct the default reflective interpreter but also as a compiler of reflective languages. Since the language semantics may change in reflective languages, we cannot use a specific compiler; instead, we use the partial evaluator, which can take the semantics of the language into account.
Report date:
May 25, 1994
Written language:
Total number of pages:
Number of references:
Any other identifying information of this report:
Distribution statement:
First issue 35 copies.
Supplementary notes: