I'm reading several texts and online guides to understand the possibilities of prolog meta-interpreters.
The following seem like solid use cases:
- proof explainers / tracers
- changing proof search strategy, eg breadth first vs depth first
- domain specific languages
Question - what other compelling use-cases are there?
Quoting from A Couple of Meta-interpreters in Prolog which is a part of the book "The Power of Prolog":
This quite extends your proposed uses, e.g., by
p(X) :- p(s(X)).
to detect loops (including "obvious" ones like this one),