Abstract
The value of computational reflection has been explored in a number of programming language efforts. The major claim of this paper is that an ostensibly broader view of reflection, which we call implementational reflection, can be applied to the design of other kinds of systems, accruing the same benefits that arise in the programming language case. The domain of window systems in general, and the Silica window system in particular are used to illustrate how reflection can be applied more broadly. Silica is a CLOS-based window system that is a part of the Common Lisp Interface Manager, an emerging user interface programming standard for Common Lisp.
Preview
Unable to display preview. Download preview PDF.
References
ANSI, New York, NY. Graphical Kernal System (GKS) Functional Description, 1985. ANSI X3.124-1985 and ISO 7942.
D.G. Bobrow, K. Kahn, G. Kiczales, L. Masinter, M. Stefik, and F. Zdybel. Common-Loops: Merging Lisp and Object-Oriented Programming. In OOPSLA '86 Conference Proceedings, Sigplan Notices 21 (11). ACM, Nov 1986.
R. Burton, R. Kaplan, L. Masinter, B. Sheil, A. Bell, D. Bobrow, L.P. Deutsch, and W.S. Haugeland. Papers on Interlisp-D. Technical report, Xerox PARC, 1980.
K. Bowen. Meta-level Techniques in Logic Programming. In Proceedings of the International Conference on Artificial Intelligence and its Applications, 1986.
Paul Calder and Mark Linton. Glyphs: Flyweight Objects for User Interfaces. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, pages 92–101. ACM Press, Oct 1990.
P. Cointe. Metaclasses are First Class: the ObjVlisp Model. In OOPSLA '87 Conference Proceedings, Sigplan Notices 22 (12). ACM, Dec 1987.
R. Davis. Meta-rules: Reasoning about Control. Artificial Intelligence, 15, 1980.
Richard Helm, Ian M. Holland, and Dipayan Gangopadhyay. Contracts: Specifying Behavior Compositions in Object-oriented Systems. In OOPSLA/ECOOP '90 Conference Proceedings, Sigplan Notices 25 (10). ACM, Nov 1990.
M.H. Ibrahim and F.A Cummins. KSL: A Reflective Object-Oriented Programming Language. In Proceedings of the IEEE Computer Society International Conference on Computer Languages, 1988.
Gregor Kiczales, Jim des Rivières, and Daniel Bobrow. The Art of the Metaobject Protocol. MIT Press, 1991.
Glenn Krasner and Stephen Pope. A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80. Journal on Object-Oriented Programming, August/September 1988.
Gregor Kiczales and Luis Rodriguez. Efficient Method Dispatch in PCL. In Proceedings 1990 ACM Conference on Lisp and Functional Programming, pages 99–105. ACM, June 1990.
H. Lieberman. Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems. In OOPSLA '86 Conference Proceedings, Sigplan Notices 21 (11). ACM, Nov 1986.
Wilf LaLonde and John Pugh. Inside Smalltalk: Volume II. Prentice-Hall, Inc, Englewood Cliffs, NJ, 1991.
P. Maes. Concepts and Experiments in Computational Reflection. In OOPSLA '87 Conference Proceedings, Sigplan Notices 22 (12). ACM, Dec 1987.
Pattie Maes. Issues in Reflection. In P. Maes and D. Nardi, editors, Meta-Level Architectures and Reflections. North Holland, 1988.
Open Software Foundation, Cambridge, MA. OSF/MOTIF Manual, 1989.
Ramana Rao, William York, and Dennis Doughty. A Guided Tour of the Common Lisp Interface Manager. Lisp Pointers, 4(1), 1991.
R.W. Scheifler and J. Gettys. The X Window System. ACM Transactions on Graphics, 5(2), 1986.
Brian Smith. Reflection and Semantics in a Procedural Language. Technical Report 272, Massachusetts Institute of Technology, Laboratory for Computer Science, Cambridge, MA, 1982.
Brian Smith. Reflection and Semantics in Lisp. In Proceedings of the 1984 ACM Principles of Programming Language Conference, pages 23–35. ACM, Dec 1984.
Sun Microsystems, Mountain View, CA. Programmer's Reference Manual for the Sun Window System, 1986.
Sun Microsystems. NeWS Technical Overview, 1987.
Symbolics, Inc, Burlington, MA. Programmer's Reference Manual Vol 7: Programming the User Interface.
Richard Weyhrauch. Prolegomena to a Theory of Mechanised Formal Reasoning. Artificial Intelligence, 13, 1980.
T. Watanabe and A. Yonezawa. Reflection in an Object-Oriented Concurrent Language. In OOPSLA '88 Conference Proceedings, Sigplan Notices 23 (11). ACM, Nov 1988.
M. Young, A. Tevanian, R. Rashid, D. Golub, J. Chew J. Eppinger, W. Bolosky, D. Black, and R. Baron. The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System. In Proceedings of the 11th Symposium on Operating System Principles. ACM, Nov 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rao, R. (1991). Implementational reflection in Silica. In: America, P. (eds) ECOOP'91 European Conference on Object-Oriented Programming. ECOOP 1991. Lecture Notes in Computer Science, vol 512. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0057026
Download citation
DOI: https://doi.org/10.1007/BFb0057026
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54262-9
Online ISBN: 978-3-540-47537-8
eBook Packages: Springer Book Archive