<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 &#39;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-&gt;symbol &quot;a very unsusal name&quot;)</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&#39;t be unique.</div><div><br></div><div>Thus string-&gt;uninterned-symbol can be thought of as</div>
<div>&quot;generate a symbol, but don&#39;t put it in the global hash</div><div>table of symbols&quot;. More abstractly: &quot;Generate a unique</div><div>symbol.&quot;</div><div><br></div><div>-- </div><div>Jens Axel Søgaard</div>
<div><br></div>