Reification: Reflection without metaphysics

  • Authors:
  • Daniel P. Friedman;Mitchell Wand

  • Affiliations:
  • -;-

  • Venue:
  • LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
  • Year:
  • 1984

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider how the data structures of an interpreter may be made available to the program it is running, and how the program may alter its interpreter's structures. We refer to these processes as reification and reflection. We show how these processes may be considered as an extension of the fexpr concept in which not only the form and the environment, but also the continuation, are made available to the body of the procedure. We show how such a construct can be used to effectively add an unlimited variety of “special forms” to a very small base language. We consider some trade-offs in how interpreter objects are reified. Our version of this construct is similar to one in 3-Lisp [Smith 82, 84], but is independent of the rest of 3-Lisp. In particular, it does not rely on the notion of a tower of interpreters.