Answers are grounded in this paper and cite their sources.
Prolog meta-circular interpreters, i.e., interpreters for Prolog written in Prolog, perform at least two operations on an object program - they parse it and execute its instructions. There is a useful variant of the meta-circular interpreter, the meta-circular parser, which as its name suggests, parses an object program without executing its instructions. The value of such a parser is that it provides an elegant means to modify Prolog source code. As the object program is parsed, new information in the form of additional instructions, comments, etc., can be selectively inserted.
No takes yet. Share an insight, caveat, or question.
Roach et al. (1990) studied this question.
Synapse has enriched one closely related paper. Consider it for comparative context: