Results 1 -
4 of
4
Reflection in logic, functional and object-oriented programming: a Short Comparative Study
- In IJCAI '95 Workshop on Reflection and Metalevel Architectures and their Applications in AI
, 1995
"... 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 o ..."
Abstract
-
Cited by 31 (1 self)
- Add to MetaCart
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...
A Semantics of Introspection in a Reflective Prototype-Based Language
- LISP AND SYMBOLIC COMPUTATION
, 1996
"... In Malenfant et al. [19], we have described a reflective model for a prototypebased language based on the lookup ffi apply reflective introspection protocol. In this paper, we augment our previous protocol by converting it to handle continuations reified as first-class objects. First-class continu ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
In Malenfant et al. [19], we have described a reflective model for a prototypebased language based on the lookup ffi apply reflective introspection protocol. In this paper, we augment our previous protocol by converting it to handle continuations reified as first-class objects. First-class continuations provide much more control over the current computation; during the introspection phase fired by message sending, they make it possible not only to change the behavior of the program for that message but also for the entire future computation. In this paper, we provide this introspection protocol with a formal semantics. This result is obtained by exhibiting a mapping \Delta from program configurations to priority rewrite systems (PRS) as well as a mapping from message expressions to ground first-order terms used to query the PRS. Other advantages of this approach are: to ensure the termination of the introspection using the smallest set of formally justified conditions and to provide ...
Behavioral Reflection in a Prototype-Based Language
- Proceedings of International Workshop on Reflection and Meta-Level Architectures
"... In [MCD92], we have contributed a reflective model for a prototype-based language based on the lookup ffi apply reflective introspection protocol. Here, we pursue this work by including a reification of continuations. Hence, we provide continuations as first-class objects and convert our previous pr ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
In [MCD92], we have contributed a reflective model for a prototype-based language based on the lookup ffi apply reflective introspection protocol. Here, we pursue this work by including a reification of continuations. Hence, we provide continuations as first-class objects and convert our previous protocol to handle them. First-class continuations provide much more control over the current computation. Also, this new model establishes the clear link between reflection in object-oriented and reflective towers as examplified by 3Lisp [Smi84]. Object-orientedness provides reflection a more principled and encapsulated programming style, making it easier to use. In this paper, we establish the correctness of this new model, namely that any message in the system will be executed in a finite number of computation steps. This fact is based on a limited number of hypothesis independent from the implementation but from which we derive fundamental clues to derive an evaluator for the language. 1 ...
Reflection and open implementations
, 2009
"... We review the state-of-the-art of reflection and metaprogramming, prior to our work on partial behavioral reflection and Reflex, and open implementations. The first four sections are dedicated to reflection. Section 1 introduces the concept of reflection and its application to programming languages. ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
We review the state-of-the-art of reflection and metaprogramming, prior to our work on partial behavioral reflection and Reflex, and open implementations. The first four sections are dedicated to reflection. Section 1 introduces the concept of reflection and its application to programming languages. Section 2 discusses reflection in the particular context of object-oriented programming languages. Then, since we are interested in addressing issues in the concrete applicability of reflection, we dedicate Section 3 to the structuring and engineering of metalevel architectures, while implementation considerations are dealt with in Section 4. After this comprehensive review of reflection, the last section discusses the related area of open implementations (Section 5).

