Inter-language reflection: A conceptual model and its implementation

被引:12
|
作者
Gybels, K [1 ]
Wuyts, R
Ducasse, S
D'Hondt, M
机构
[1] Vrije Univ Brussels, Brussels, Belgium
[2] Univ Libre Bruxelles, Brussels, Belgium
[3] Univ Savoie, LISTIC, Savoie, France
[4] Univ Sci & Technol Lille, Villeneuve Dascq, France
关键词
meta programming; reflection; linguistic symbiosis; inter-language reflection;
D O I
10.1016/j.cl.2005.10.003
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Meta programming is the act of reasoning about a computational system. For example, a program in Prolog can reason about a program written in Smalltalk. Reflection is a more powerful form of meta programming where the same language is used to reason about, and act upon, itself in a causally connected way. Thus on the one hand we have meta programming that allows different languages or paradigms to be used, but without causal connection, while on the other hand we have reflection that offers causal connection but only for a single language. This paper combines both and presents inter-language reflection that allows one language to reason about and change in a causally connected way another language and vice versa. The fundamental aspects of inter-language reflection and the language symbiosis used therein, are discussed. Moreover the implementation of two symbiotic reflective languages is discussed: Agora/Java and SOUL/Smalltalk. (c) 2005 Elsevier Ltd. All rights reserved.
引用
收藏
页码:109 / 124
页数:16
相关论文
共 50 条