2 ms·
> where a meta-interpreter does relatively high-level source-to-source conversion before delegating to a target language interpreter This is most emphatically
by tom_mellior 9y ago
> where a meta-interpreter does relatively high-level source-to-source conversion before delegating to a target language interpreter
This is most emphatically not what Prolog meta-interpreters do. (Those are the ones I am most familiar with.) They do not build up new source code, they interpret given terms in "new" ways that are not built into the Prolog implementation. Systems that build new source code are called expansions or sometimes macros.
I don't think the Lisp world would call such systems meta-interpreters either. There, too, you have macros that transform source code.
Do you have a reference that uses the term "meta-interpreter" in the way you are describing?
- saltcured 9y agoSorry, it's been many years and I misremembered the term "meta-circular evaluator", i.e. everybody's toy implementation of an interpreter with a REPL and very simplistic (if any) changes to the source language being interpreted.