SUPPORT THE WORK

GetWiki

meta-circular evaluator

ARTICLE SUBJECTS
aesthetics  →
being  →
complexity  →
database  →
enterprise  →
ethics  →
fiction  →
history  →
internet  →
knowledge  →
language  →
licensing  →
linux  →
logic  →
method  →
news  →
perception  →
philosophy  →
policy  →
purpose  →
religion  →
science  →
sociology  →
software  →
truth  →
unix  →
wiki  →
ARTICLE TYPES
essay  →
feed  →
help  →
system  →
wiki  →
ARTICLE ORIGINS
critical  →
discussion  →
forked  →
imported  →
original  →
meta-circular evaluator
[ temporary import ]
please note:
- the content below is remote from Wikipedia
- it has been imported raw for GetWiki
In computing, a meta-circular evaluator or meta-circular interpreter is an interpreter which defines each feature of the interpreted language using a similar facility of the interpreter's host language. For example, interpreting a lambda application may be implemented using function application.JOURNAL, Reynolds, John C., Definitional Interpreters for Higher-Order Programming Languages, Higher Order Symbolic Computation, August 1972, 11, 4, 363–397, 10.1023/A:1010027404223,weblink 14 April 2017, Meta-circular evaluation is most prominent in the context of Lisp. A self-interpreter is a meta-circular interpreter where the interpreted language is nearly identical to the host language; the two terms are often used synonymously.

History

{{See also|History of compiler construction}}The dissertation of Corrado BöhmC. Böhm, Calculatrices digitales. Du déchiffrage des formules logico-mathématiques par la machine même dans la conception du programme, Ann. Mat. Pura Appl. (4) 37 (1954) 1-51 describes the design of a self-hosting compiler.BOOK, Donald E., Knuth, Donald Knuth, Luis Trabb, Pardo, The early development of programming languages, August 1976,weblink 36, Due to the difficulty of compiling higher-order functions, many languages were instead defined via interpreters, most prominently Lisp.BOOK,weblink 10, A Universal LISP Function, 1961, John McCarthy (computer scientist), John, McCarthy, Lisp 1.5 Programmer's Manual, The term itself was coined by John C. Reynolds, and popularized through its use in the book Structure and Interpretation of Computer Programs.BOOK, Structure and Interpretation of Computer Programs, The Metacircular Evaluator,weblink MIT, WEB, Harvey, Brian, Why Structure and Interpretation of Computer Programs matters,weblink people.eecs.berkeley.edu, 14 April 2017,

Self-interpreters

A self-interpreter is a meta-circular interpreter where the host language is also the language being interpreted.WEB, The significance of the meta-circular interpreter,weblink 2006-11-22, Reginald, Braithwaite, 2011-01-22, A self-interpreter displays a universal function for the language in question, and can be helpful in learning certain aspects of the language.JOURNAL, Reynolds, John C., Definitional Interpreters Revisited, Higher Order Symbolic Computation, 1998, 11, 4, 356–7, 10.1023/A:1010075320153,weblink 14 April 2017, A self-interpreter will provide a circular, vacuous definition of most language constructs and thus provides little insight into the interpreted language's semantics, for example evaluation strategy. Addressing these issues produces the more general notion of a "definitional interpreter".

Uses

In combination with an existing language implementation, meta-circular interpreters provide a baseline system from which to extend a language, either upwards by adding more features or downwards by compiling away features rather than interpreting them.BOOK, Oriol, Manuel, Meyer, Bertrand, Objects, Components, Models and Patterns: 47th International Conference, TOOLS EUROPE 2009, Zurich, Switzerland, June 29-July 3, 2009, Proceedings, Springer Science & Business Media, 9783642025716, 330,weblink 14 April 2017, en, They are also useful for writing tools that are tightly integrated with the programming language, such as sophisticated debuggers.{{citation needed|date=April 2017}} 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.{{citation needed|date=April 2017}}

Examples

{{More citations needed|section|date=September 2008}}Many languages have one or more meta-circular implementations. Here below is a partial list.Some languages with a meta-circular implementation designed from the bottom up, in grouped chronological order: Some languages with a meta-circular implementation via third parties:

See also

References

{{reflist}}

External links



- content above as imported from Wikipedia
- "meta-circular evaluator" does not exist on GetWiki (yet)
- time: 5:11pm EDT - Tue, Oct 16 2018
[ this remote article is provided by Wikipedia ]
LATEST EDITS [ see all ]
GETWIKI 09 MAY 2016
GETWIKI 18 OCT 2015
M.R.M. Parrott
Biographies
GETWIKI 20 AUG 2014
GETWIKI 19 AUG 2014
GETWIKI 18 AUG 2014
Wikinfo
Culture
CONNECT