Meta-interpreters and Reflection
Prolog is a homoiconic language and provides many facilities for reflection. Its implicit execution strategy makes it possible to write a concise meta-circular evaluator (also called meta-interpreter) for pure Prolog code. Since Prolog programs are themselves sequences of Prolog terms (:-/2
is an infix operator) that are easily read and inspected using built-in mechanisms (like read/1
), it is easy to write customized interpreters that augment Prolog with domain-specific features.
Read more about this topic: Prolog
Famous quotes containing the word reflection:
“A little reflection will enable any person to detect in himself that setness in trifles which is the result of the unwatched instinct of self-will and to establish over himself a jealous guardianship.”
—Harriet Beecher Stowe (18111896)