Download now Free registration required
A reflective programming language provides means to render explicit what is typically abstracted away in its language constructs in an on-demand style. In the early 1980's, Brian Smith introduced a general recipe for building reflective programming languages with the notion of procedural reflection. It is an excellent framework for understanding and comparing various meta-programming and reflective approaches, including macro programming, first-class environments, first-class continuations, meta-object protocols, aspect-oriented programming, and so on. Unfortunately, the existing literature of Brian Smith's original account of procedural reflection is hard to understand: it is based on terminology derived from philosophy rather than computer science, and takes concepts for granted that are hard to reconstruct without intimate knowledge of historical Lisp dialects from the 1960's and 1970's.
- Format: PDF
- Size: 289.68 KB