Two normal symbols are equal if only if they are spelled the same. A normal implementation of symbols will keep a hash table of all used symbols. Each time 'foo is found in the source the same symbol will be returned. Thus two symbols can be compared with eq? (think: simple pointer comparison).
Now imagine that you want to generate a unique symbol. One could try to use (string->symbol "a very unsusal name") but if you are *really* unlucky, someone might have used the same symbol name some where else in an obscure linbrary - and if he did the name won't be unique. Thus string->uninterned-symbol can be thought of as "generate a symbol, but don't put it in the global hash table of symbols". More abstractly: "Generate a unique symbol." -- Jens Axel Søgaard
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

