首页 | 本学科首页   官方微博 | 高级检索  
     


A simple reflective interpreter
Authors:Stanley Jefferson and Daniel P Friedman
Affiliation:(1) Department of Computer Science, Indiana University, 47405 Bloomington, IN;(2) Present address: Hewlett-Packard Laboratories, 3500 Deer Creek Road, Building 26U, 94304 Palo Alto, CA
Abstract:Procedurally reflective programming languages enable user programs to semantically extend the language itself, by permitting them to run at the level of the language implementation with access to their context. The reflective tower, first introduced by Brian Smith, is the principal architecture for such languages. It is informally described as an infinitely ascending tower of metacircular interpreters, connected by a mechanism that allows programs at one level to run at the next higher level. Various accounts of the reflective tower have been published, including a metacircular definition, operational definitions, and denotational definitions. We present an operational account of the main aspects of the reflective tower, which we claim is simpler than previous accounts. Our approach is to implement a finite tower where each level literally runs the level directly below it. A complete Scheme implementation is included.An earlier version of this paper appeared inProceedings of the International Workshop on New Models for Software Architecture '92: Reflection and Meta-level Architecture, November 1992. This material is based on work supported by the National Science Foundation under Grants NSF CCR 89-01919 and NSF CCR 90-00597.
Keywords:reflection  interpreter  Lisp
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号