Abstract
Introducing meta-level access in a programming language is a delicate task, surrounded by threats of vicious circularity, infinite regress and unresolveable paradoxes on the one hand and triviality on the other hand. The reflective tower is one of the attempts to structure computational reflection, that is, access from a running process to its computational state.
This paper gives the framework of a denotational semantics of a reflective tower, isolating the features which we have found to be sufficient to describe this model. The framework is then used to analyze some concrete problems in a reflective tower based on the programming language Scheme with continuations as applicable objects.
The paper first gives a brief description of the reflective tower and discusses the unstable points in the design. Then the denotational description is outlined and used to analyze these points and to clarify the consequences of the necessary design decisions.
Preview
Unable to display preview. Download preview PDF.
References
Young-il Choo: Logic from Programming Language Semantics, Ph. D. thesis, California Institute of Technology Pasadena, California (1987)
Olivier Danvy, Karoline Malmkjær: Intensions and Extensions in a Reflective Tower, proceedings of the 1988 ACM Conference on Lisp and Functional Programming pp 327–341, Snowbird, Utah (July 1988)
Olivier Danvy, Karoline Malmkjær: A Blond Primer, DIKU Rapport 88/21, DIKU, Computer Science Department, University of Copenhagen, Copenhagen, Denmark (October 1988)
Olivier Danvy, Karoline Malmkjær: Aspects of Computational Reflection in a Programming Language, working paper, DIKU, Computer Science Department, University of Copenhagen, Copenhagen, Denmark (1989)
Jim des Rivières: Control-Related Meta-Level Facilities in LISP, from Meta-Level Architectures and Reflection, Patti Maes & Daniele Nardi (eds.), North-Holland (1988)
Daniel P. Friedman, Mitchell Wand: Reification: Reflection without Metaphysics, Conference Record of the 1984 ACM Symposium on LISP and Functional Programming pp 348–355, Austin, Texas (August 1984)
Karoline Malmkjær: The Reflective Tower, student project no. 88-12-9, DIKU, Computer Science Department, University of Copenhagen, Copenhagen, Denmark (December 1988)
Jonathan Rees, William Clinger (eds): Revised 3 Report on the Algorithmic Language Scheme, Sigplan Notices, Vol. 21, No 12 pp 37–79 (December 1986)
John Reynolds: Definitional Interpreters for Higher-Order Programming Languages, proceedings of the 25th ACM National Conference, pp 717–740, New York (1972)
David A. Schmidt: Denotational Semantics: A Methodology for Language Development, Allyn and Bacon, Inc. (1986)
Christopher Strachey, C. P. Wadsworth: Continuations: a Mathematical Semantics for Handling Full Jumps, Technical Monograph PRG-11, Oxford University Computing Laboratory, Programming Research Group, Oxford, England (1974)
Brian C. Smith: Reflection and Semantics in a Procedural Language, Ph.D. thesis, MIT/LCS/TR-272, MIT, Cambridge, Massachusetts (January 1982)
Mitchell Wand, Daniel P. Friedman: The Mystery of the Tower Revealed: a Non-Reflective Description of the Reflective Tower, Volume 1, Issue 1 of Lisp and Symbolic Computation (May 1988)
Author information
Authors and Affiliations
Corresponding author
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Malmkjær, K. (1990). On some semantic issues in the reflective tower. In: Main, M., Melton, A., Mislove, M., Schmidt, D. (eds) Mathematical Foundations of Programming Semantics. MFPS 1989. Lecture Notes in Computer Science, vol 442. Springer, New York, NY. https://doi.org/10.1007/BFb0040260
Download citation
DOI: https://doi.org/10.1007/BFb0040260
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-0-387-97375-3
Online ISBN: 978-0-387-34808-7
eBook Packages: Springer Book Archive