The following tests give access to basic information about the current invocation.
inv(
Inv)
depth(
Depth)
goal(
MGoal)
subsumes(
MGoal,
CurrentGoal)
test (subsumes/2
is defined
in library(terms)
, see Term Utilities).
pred(
MFunc)
:
F/
N) of the current goal.
The unification required for matching is carried out.
module(
Module)
prolog
.
goal_private(
GoalPriv)
exited(
Boolean)
true
if the the current invocation has exited,
and false
otherwise. This condition is mainly used for looking at
past execution states.
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.
Similar matching rules apply for predicate functors, in the
pred
condition. In this test the argument holds a
module qualified functor template, say
ModT:
Name/
Arity, and this is matched against a
concrete goal term Mod:
Goal in the execution
state.
/
Arity, and this unification is carried out.