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...
|
1122
|
Introduction to Functional Programming
– Bird, Wadler
- 1988
|
|
713
|
The Art of Metaobject Protocol
– Kiczales, Rivieres, et al.
- 1991
|
|
554
|
Notions of computation and monads
– Moggi
- 1991
|
|
550
|
The Art of Prolog
– Sterling, Shapiro
- 1994
|
|
385
|
Comprehending monads
– WADLER
- 1992
|
|
345
|
Computational lambda-calculus and monads
– Moggi
- 1989
|
|
235
|
The Godel programming language
– Hill, Lloyd
- 1992
|
|
173
|
Reflection and semantics in lisp
– Smith
- 1984
|
|
154
|
Reflection and semantics in a procedural language
– Smith
- 1982
|
|
130
|
A system for specialising logic programs
– Gallagher
- 1991
|
|
130
|
Prolegomena to a theory of mechanized formal reasoning
– Weyhrauch
- 1980
|
|
123
|
Computational reflection
– Maes
- 1987
|
|
96
|
Metaclasses are first class: The ObjVlisp model
– Cointe
- 1987
|
|
94
|
Representing monads
– Filinski
- 1994
|
|
91
|
Foundations of Logic Programming (2nd edition
– Lloyd
- 1993
|
|
80
|
Computational reflection in class based object oriented languages
– Ferber
- 1989
|
|
73
|
A generic account of continuation-passing styles
– Hatcliff, Danvy
|
|
63
|
The mystery of the tower revealed: A non-reflective description of the reflecitve tower
– Wand, Friedman
- 1988
|
|
60
|
Reification: Reflection without metaphysics
– Friedman, Wand
- 1984
|
|
58
|
The implementation of procedurally reflective languages
– Rivi`eres, Smith
- 1984
|
|
53
|
Analysis of meta-programs
– Hill, Lloyd
- 1989
|
|
45
|
An architecture for an open compiler
– Lamping, Kiczales, et al.
- 1992
|
|
40
|
Transfinite Recursive Progressions of Axiomatic Theories
– Feferman
- 1962
|
|
34
|
Intensions and extensions in the reflective tower
– Danvy, Malmkjaer
- 1988
|
|
34
|
Languages with self-reference II: Knowledge, belief, and modality
– Perlis
- 1988
|
|
24
|
A metalogic programming language
– Costantini, Lanzarone
- 1990
|
|
22
|
Reflection principles and their use for establishing the complexity of axiomatic systems. Zeitschrift fur mathematische Logik und Grundlagen der Mathematik
– Kreisel, L'evy
- 1968
|
|
20
|
A Simple Reflective Interpreter
– Jefferson, Friedman
- 1992
|
|
19
|
Integrating Object-Oriented and Functional Programming
– Gabriel
- 1991
|
|
17
|
Meta-Level Programming and Knowledge Representation
– Bowen
- 1985
|
|
16
|
Reification without evaluation
– Bawden
- 1988
|
|
9
|
CLOS in context: The shape of the design space
– Bobrow, Gabriel, et al.
- 1993
|
|
9
|
Languages with self-reference I: Foundations (Or: We can have everything in Firstorder logic
– Perlis
- 1985
|
|
7
|
A Semantics of Introspection in a Reflective PrototypeBased Language
– Malenfant, Dony, et al.
- 1996
|
|
6
|
Towards a Theory of Reflective Programming Languages
– Mendhekar, Friedman
- 1993
|
|
6
|
ObjVProlog: Metaclasses in Logic
– Malenfant, Lapalme, et al.
- 1989
|
|
5
|
Declarative semantics of a meta-programming language
– Christiansen
- 1990
|
|
4
|
Reflection mechanisms for combining Prolog databases
– Lamma, Mello, et al.
- 1991
|
|
3
|
Duplication and partial evaluation to implement reflective languages
– Asai, Matsuoka, et al.
- 1993
|
|
3
|
Rivi`eres. The Secret Tower of CLOS
– des
- 1990
|
|
3
|
M-LISP: A Representation Independent Dialect of LISP with Reduction Semantics
– Muller
- 1989
|
|
3
|
H.: Meta and Reflective Computation in Logic Programming and Its Semantics
– Sugano
- 1990
|
|
2
|
Programmingwith Explicit Metaclasses in Smalltalk
– Briot, Cointe
- 1989
|
|
1
|
Logic Programming, chapter Amalgamating Language and Metalanguage in Logic Programming
– Bowen
- 1982
|
|
1
|
Extensible denotational language sepecifications
– Cartwright, Felleisen
- 1994
|
|
1
|
R'eflexion de comportement et 'evaluation partielle en Prolog
– Demers
- 1994
|
|
1
|
Metaclasses for Metaprogramming in Logic
– Malenfant, Lapalme, et al.
- 1990
|