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