[comp.lang.smalltalk] CFP-ECOOP/OOPSLA workshop on Reflection and Metalevel Architectures in OOP

mhi@edsdrd.eds.com (Mamdouh Ibrahim) (07/03/90)

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