When a clause is invoked a special kind of a frame is created. Such a stack frame might have empty variable bindings or not yet a parent, so that the corresponding property might return missing elements. Besides that a stack frame constitutes an element of the ancestor goal list. It therefore provides additional properties such accessing the parent stack frame or the current call goal.
A stack frame where all the variable bindings are initially empty where there is no parent can be created with the predicate sys_prepare_clause/2. Such a stack frame can be executed by the predicate sys_unfold_body/1.
The following predicates for stack properties are provided:
The following Prolog flags for stack properties are provided:
The following frame properties for stack properties are provided: