Xref: utzoo comp.lang.c++:8319 comp.object:1388 comp.lang.smalltalk:2052 comp.lang.eiffel:988 comp.lang.lisp:3378 Path: utzoo!attcan!uunet!edsews!edsdrd!mhi From: mhi@edsdrd.eds.com (Mamdouh Ibrahim) Newsgroups: comp.lang.c++,comp.object,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.lisp Subject: Re: CFP-ECOOP/OOPSLA workshop on Reflection and Metalevel Architectures in OOP Summary: A definition for reflective languages Keywords: Reflection, reflective languages, metalevel architectures, object-oriented programming Message-ID: <114@altair.edsdrd.eds.com> Date: 3 Jul 90 15:46:34 GMT References: <109@altair.edsdrd.eds.com> <1990Jun28.050423.26442@msuinfo.cl.msu.edu> Organization: EDS Research and Development, Auburn Hills, MI 48057 Lines: 64 In article <1990Jun28.050423.26442@msuinfo.cl.msu.edu>, dulimart@cpsin3.uucp (Hansye S. Dulimarta) writes: > Could somebody tell me the definition of 'reflective programming language'? > [or give a pointer to references about this topic]. Thanks a lot. > > Hans. Very simply stated, a programming language is considered reflective if it can operate on itself. This simple definition gives rise to many complex issues related to the subject such as metacircular interpreters, infinite towers, metalevel structures, reification, computational reflection, etc. Until recently, most of the work in this area was done (and initiated) by researchers from the LISP community, in particular, Brian Smith [6], Smith and des Rivieres [7] and the follow up work by Wand and Friedman [8]. In OOPSLA 87, Maes [5] presented an excellent paper on computational reflection in object-oriented systems. Since then, more papers have been published on reflection in object-oriented programming and systems, e.g., [1, 2, 3, 4, 9]. During OOPSLA 89, Brian Foote initiated a Birds Of a Feather session to discuss some of the issues related to this topic. Based on the BOF, a workshop on reflection and metalevel architectures in object-oriented programming will be held in conjunction with ECOOP/OOPSLA 90 in Ottawa, Canada. The following is by no means an exhaustive list of references to this topic. [1] Ferber, J., "Computational Reflection in Class Based Object-Oriented Languages," Proceedings of OOPSLA '89, 1989, pp. 317-326. [2] Foote, B. and Johnson, R. E., "Reflective Facilities in Smalltalk-80," Proceedings of OOPSLA '89, 1989, pp. 327-336. [3] Graube, N., "Metaclass Compatibility," Proceedings of OOPSLA '89, 1989, pp. 305-315. [4] Ibrahim, M. H. and Cummins, F. A., "KSL: A Reflective Object-Oriented Programming Language," Proceedings of the IEEE International Conference on Computer Languages, 1988, pp. 186-193. [5] Maes, P., "Concepts and Experiments in Computational Reflection," Proccedings of OOPSLA '87, 1987, pp. 147-155. [6] Smith, B. C., "Reflection and Semantics in Lisp," Conf. Rec. 11th ACM Symp. on Principles of Programming Languages, 1984, pp. 23-35. [7] Smith, B. C. and des Rivieres, J., "The Implementation of Procedurally Reflective Languages," Proc. 1984 ACM Symposium on Lisp and Functional Programming, 1984, pp. 331-347. [8] Wand, M. and Friedman, D., "The Mystery of the Tower Revealed: A Non- Reflective Description of the Reflective Tower," Proceedings of the 1986 Conference on Lisp and Functional Programming, 1986, pp. 298-307. [9] Watanabe, T. and Yonezawa, A., "Reflection in an Object-Oriented Concurrent Language," Proceedings of OOPSLA '88, 1988, pp. 306-315. --------- Mamdouh H. Ibrahim - EDS Research & Development 3551 Hamlin Rd., 4th Floor Auburn Hills, MI 48057 (313) 370-1629 mhi@edsdrd.eds.com