You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm new to prolog in general so sorry if this is too obvious, or if it has been asked.
I was wondering if tau-prolog had something like swi-prolog's trace, which I can't find in the list of supported predicates.
I've read this other issue, but I need to do this automatically; so obtaining some sort of stack-trace, with indicated success/failure at each procedure call, would be ideal.
What do you suggest doing as an alternative?
The text was updated successfully, but these errors were encountered:
Prolog execution is usually too complex to follow in the form of traces, even more so if you consider various execution strategies such as SLG resolution.
As an alternative, consider thinking in terms of program fragments such as generalizations and failure slices. You obtain these fragments by ignoring various parts of your programs, such as generalizing away goals.
For instance, what is the most common question from Prolog beginners? A good candidate: "Why does the query unexpectedly fail?". Well, systematically remove goals, obtaining generalizations of the program. If the resulting fragment still fails, then there must be a mistake in that fragment.
Such fragments can be found automatically, and provide explanations for why something happens. This is much more interesting than tediously following low-level execution steps.
I'm new to prolog in general so sorry if this is too obvious, or if it has been asked.
I was wondering if tau-prolog had something like swi-prolog's trace, which I can't find in the list of supported predicates.
I've read this other issue, but I need to do this automatically; so obtaining some sort of stack-trace, with indicated success/failure at each procedure call, would be ideal.
What do you suggest doing as an alternative?
The text was updated successfully, but these errors were encountered: