Category:Programming paradigm/Reflective
Programming paradigm/Reflective is a programming language feature.
A language is reflective if it includes features that allow it to ask about the current state of the program, e.g., by being able to inspect what classes are defined, what methods those classes define, or what instances of those classes have been created. This makes it far easier to write test harnesses and dynamic programs. However, one issue with reflective programming languages is that it is less clear when a part of the program has become actually unreachable as reflective techniques could be used to revive a reference to it.