Meta-circular evaluator
From Wikipedia, the free encyclopedia
This article does not cite any references or sources. (November 2007) Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
A meta-circular evaluator is a special case of a self-interpreter in which the existing facilities of the parent interpreter are directly applied to the source code being interpreted, without any need for additional parsing. Meta-circular evaluation is only possible in homoiconic languages.[citation needed]
[edit] Ramifications of Meta-circularness
Meta-circular implementations are suited for extending the language they are written in. They are also useful for writing tools that are tightly integrated with the programming language, such as sophisticated debuggers. A language designed with a meta-circular implementation in mind is often more suited for building languages in general, even ones completely different from the host language.
[edit] List of Meta-circular Languages
Languages designed from the ground up with a meta-circular implementation:
Languages with third-party meta-circular implementations: