felix winkelmann wrote:
> On 7/18/05, Thomas Lord <xxxxxx@emf.net> wrote:
>>
>> It has never been great style in Scheme, even if strictly portable, to
>>write programs which assume that string->symbol and symbol->string define a
>>1:1 relationship between the two types.
>
> I'm probably missing something obvious, but this strikes me as quite
> nonsensical.
> Could you elaborate?
The culprit is uninterned symbols:
> (let ((foo 'foo))
(eq? (string->symbol (symbol->string foo))
foo))
#t
>(let ((foo (string->uninterned-symbol "foo")))
(eq? (string->symbol (symbol->string foo))
foo))
#f
--
Jens Axel Søgaard