Reflection in logic, functional and object-oriented programming: a Short Comparative Study

François-Nicola Demers, Jacques Malenfant. Reflection in logic, functional and object-oriented programming: a Short Comparative Study. In In IJCAI '95 Workshop on Reflection and Metalevel Architectures and their Applications in AI. 1995.

Abstract

Reflection is a wide-ranging concept that has been studied independently in many different areas of science in general, and computer science in particular. Even in the sub-area of programming languages, it has been applied to different paradigms, especially the logic, functional and objectoriented ones. Partly because of different past influences, but also because researchers in these communities scarcely talk to each others, concepts have evolved separately, sometimes to the point where it is hard for people in one community to recognize similarities in the work of others, not to speak about cross-fertilization among them. In this paper, we propose a synthesis covering mainly the application of computation reflection to programming languages. We compare the different approaches and try to identify similar concepts hidden behind different names or constructs. We also point out the different emphasis that has been given to different concepts in each of them. We do not claim neither comp…