Rivieres Smith 1984 - guillaumedescoteauxisabelle/ma-biblio GitHub Wiki
The implementation of procedurally reflective languages
ZotWeb | paper-conference | |
Src Url | Rivières, Smith (1984) | |
Abstract
In a procedurally reflective programming language, all programs are executed not through the agency of a primitive and inaccessible interpreter, but rather by the explicit running of a program that represents that interpreter. In the corresponding virtual machine, therefore, there are an infinite number of levels at which programs are processed, all simultaneously active. It is therefore a substantial question to show whether, and why, a reflective language is computationally tractable. We answer this question by showing how to produce an efficient implementation of a procedurally reflective language, based on the notion of a level-shifting processor. A series of general techniques, which should be applicable to reflective variants of any standard applicative or imperative programming languages, are illustrated in a complete implementation for a particular reflective LISP dialect called 3-LISP.
Annotations
Rivieres