The following tests give access to basic information about the current invocation.
inv(
Inv)
depth(
Depth)
goal(
MGoal)
pred(
MFunc)
:
F/
N) of the current goal. The
unification required for matching is carried out.
module(
Module)
prolog
.
goal_private(
GoalPriv)
last_port(
LastPort)
exit(nondet)
if the
invocation has been exited, and call
otherwise.
parent_inv(
Inv)
ancestor(
AncGoal,
Inv)
Notes:
The debugger-parent of a goal is the youngest ancestor of the goal present on the backtrace. This will differ from the ordinary parent if not all goals are traced, e.g. if the goal in question is reached in zip mode. A debugger-ancestor of a goal is any of its ancestors on the backtrace.
In the goal
and ancestor
tests above, there is a given
module qualified goal template, say ModT:
GoalT, and it is
matched against a concrete goal term Mod:
Goal in the
execution state. This matching is carried out as follows:
:
Goal and ModT:
Goal is an exported
variant of the other, or both are imported from the same module.
The above matching rules also apply for predicate functors, in the
pred
condition.