
gensym.pl -- Generate unique symbols
The predicate gensym/2 is a traditional predicate to generate unique
symbols. It should be used with care.
gensym(+Base, -Unique)- Generate <Base>1, <Base>2, etc atoms on each subsequent call.
Note that there is nothing that prevents other parts of the
application to `invent' the same identifier. The predicate
gensym/2 is thread-safe in the sense that two threads generating
identifiers from the same Base will never generate the same
identifier.
- See also
- - uuid/1, term_hash/2, variant_sha1/2 may be used to
generate various unique or content-based identifiers
safely.
reset_gensym- Reset all gensym counters. Please beware this is dangerous: gensym
may be in use by other modules that do not expect their counter to
be reset!
reset_gensym(+Base)- Reset a specific gensym counter. Please beware this still is
dangerous as other code may use gensym with the same atom!