If backtracking occurs through the call of record/2 the associated Value is not removed from the record database. Recording the same Value twice results in two identical entries in the record database. All variables are recorded according to their internal representations.
Success:
record(a(compound,term),value1).
record([a,different,term],value2).
[eclipse]: record(whiskey,jameson),
> record(whiskey,glenlivet),
> record(whiskey,bushmills).
yes.
[eclipse]: recorded(whiskey,Value).
Value = jameson More (;)
Value = glenlivet More (;)
Value = bushmills More (;)
no (more) solution.
Error:
record(Key, anything). (Error 4)
record("key",anything). (Error 5)