[ library(repair) | Reference Manual | Alphabetic Index ]

tent_call(+In, +Out, +Goal)

Eagerly call Goal whenever tentative values of variables in In changes.
In
List of variables (subset of variables in Goal)
Out
List of variables (subset of variables in Goal)
Goal
Goal to be called

Description

This is a completely general meta-predicate to support computations with tentative values. Goal is a general goal, and In and Out are lists (or other terms) containing subsets of Goal's variables. A copy of Goal is called, with the In-variables replaced by their tentative values and the Out-variables replaced by fresh variables. Goal is expected to return values for the Out variables. These values are then used to update the tentative values of the original Out variables. This process repeats whenever the tentative value of any In-variable changes.

Modules

This predicate is sensitive to its module context (tool predicate, see @/2).

See Also

tent_set / 2, tent_is / 2