<h2>Introduction</h2>
Reflection is the ages old concept of someone thinking about oneself. Yes, there are other meanings to the word; this is the one we consider here. In Computer Science, Reflection is a powerful conceptual tool with such various applications as simplifying logical proofs enough to make them physically tractable, enabling dynamic (run-time) evolution of programming systems, transforming programs statically (at compile-time) to add and manage such features as concurrency, distribution, persistence, or object systems, or allowing expert systems to reason about and adapt their own behavior.

<h2>Glossary References</h2>
<ul>
<li>_(Reflection)
<li>_(Open Implementation)
<li>_(Partial Evaluation)
<li>_(Meta-)
<li>_(Meta-Level)
<li>_(Meta-Object Protocol)
</ul>

<h2>Foundations</h2>
See _(Kurt Gdel), _(Alan Turing), _(Douglas Hofstadter) (see below).

_("John Tromp's" | http://www.cwi.nl/~tromp) universal machine. The _(Principia Cybernetica) project.

<h2>_(Metalogical Reflection)</h2>

<h2>Self-References</h2>

_(Quine)s

<h2>Run-time Computational Reflection</h2>

_(Brian C. Smith), _(Patti Maes), _(A. Yonezawa).

<h2>Compile-Time (Computational) Reflection</h2>

_(Shigeru Shiba), _(Tim Sheard), _(Rowan Davies).

<h2>_(Partial Evaluation)</h2>

_(Olivier Danvy) & _(Andrzej Filinski) at _(BRICS); _(Neil D. Jones|http://www.diku.dk/people/NDJ.html) at _(DIKU|http://www.diku.dk); _(Charles Consel) and _(Gilles Muller) at _(IRISA|http://www.irisa.fr) (_(COMPOSE group)); at OGI.

_(Erik Ruf|http://www.research.microsoft.com/~ruf/)'s _(PhD thesis|http://www.research.microsoft.com/~ruf/files/thesis) on PE. PE courses have been taught using his dissertation.

<ul>
<li>_(Semantics-based Program Analysis and Maipulation|http://www.cs.cmu.edu/afs/cs.cmu.edu/user/wls/www/sbpm.html)
<li>_(PEPM'97|http://www.irisa.fr/pepm97): Partial Evaluation and Semantic-based Program Manipulation
<li>_(cmix|http://www.diku.dk/research-groups/topps/activities/cmix/)
<li>_(FUSE|http://www.research.microsoft.com/~daniel/fuse-memos/README.html)
</ul>

<h3>_(Run-Time Code Generation)</h3>

<h3>Reflective Expert Systems</h3>
Jacques Pitrat and his team. _(Self Reflection in Cognitive Architectures|http://krusty.eecs.umich.edu/cogarch3/CapabilLists/SelfReflect.html).

<h3>Reflective Concurrent Programming</h3>
Meseguer; _(Carol Talcott|http://www-formal.stanford.edu/clt/home.html); _(A. Yonezawa);

<h3>_(Meta-Object Protocol)s</h3>

A classic book, _(AMOP).

<h3>_(Aspect-Oriented Programming)</h3>

_(Kiczales).

See also _(AspectJ) and _(AspectS).

<h3>Reasoning Systems</h3>

_(NuPrl) and _(Maude) perhaps?

<h3>_(Reflective Programming Languages)</h3>
