felix winkelmann wrote:
On 7/18/05, Thomas Lord <lord@xxxxxxx> 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