The corresponding actual attribute is set to Attribute . If the actual attribute was already present, it is simply replaced. The corresponding actual attribute is removed. If the actual attribute was already absent, nothing happens. A hook predicate.
Value is a non-variable term, or another attributed variable.
If it fails, the unification is deemed to have failed. It may succeed non-deterministically, in which case the unification might backtrack to give another answer. It is expected to return, in Goals , a list of goals to be called after Var has been bound to Value . Binding Var will result in undefined behavior. An important use for attributed variables is in implementing coroutining facilities as an alternative or complement to the built-in coroutining mechanisms.