- attvar(@Term)
- Succeeds if Term is an attributed variable. Note that var/1
also succeeds on attributed variables. Attributed variables are created
with
put_attr/3.
- put_attr(+Var,
+Module, +Value)
- If Var is a variable or attributed variable, set the value
for the attribute named Module to Value. If an
attribute with this name is already associated with Var, the
old value is replaced. Backtracking will restore the old value (i.e., an
attribute is a mutable term; see also setarg/3).
This predicate raises an uninstantiation error if
Var is not a variable, and a type error if Module
is not an atom.
- get_attr(+Var,
+Module, -Value)
- Request the current value for the attribute named Module.
If
Var is not an attributed variable or the named attribute is
not associated to Var this predicate fails silently. If Module
is not an atom, a type error is raised.
- del_attr(+Var,
+Module)
- Delete the named attribute. If Var loses its last attribute
it is transformed back into a traditional Prolog variable. If Module
is not an atom, a type error is raised. In all other cases this
predicate succeeds regardless of whether or not the named attribute is
present.