
attvar.pl -- Attributed variable handlingAttributed variable and coroutining support based on attributed variables. This module is complemented with C-defined predicates defined in pl-attvar.c
$wakeup(+List)
freeze(@Var, :Goal)
frozen(@Term, -Goal)Note that attribute_goals//1 may destructively update attributes, often used to simplify the produced attributes. For frozen/2 however we must keep the original variables. Ideally we would demand attribute_goals//1 to not modify any attributes. As that is hard given where we are we now copy the result and fail, restoring the bindings. This is a simplified version of bagof/3.
portray_attvar(@Var)attributes(portray) or
when the prolog flag write_attributes equals portray. Its task
is the write the attributes in a human readable format.
call_residue_vars(:Goal, -Vars)
copy_term(+Term, -Copy, -Gs) is det