Email list hosting service & mailing list manager

A different approach Thomas Lord (18 Jul 2005 17:45 UTC)
Re: A different approach felix winkelmann (19 Jul 2005 08:19 UTC)
Re: A different approach Jens Axel Søgaard (19 Jul 2005 08:29 UTC)
Re: A different approach felix winkelmann (19 Jul 2005 08:39 UTC)
Re: A different approach Jens Axel Søgaard (19 Jul 2005 08:46 UTC)
Re: A different approach felix winkelmann (20 Jul 2005 07:25 UTC)
Re: A different approach Jens Axel Søgaard (20 Jul 2005 10:07 UTC)

Re: A different approach felix winkelmann 19 Jul 2005 08:39 UTC

On 7/19/05, Jens Axel Søgaard <xxxxxx@soegaard.net> wrote:
> 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
>

Uninterned symbols are (currently) not provided by standard Scheme,
and can be simulated by some magic prefix in portable code.

cheersm
felix