[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gentemp deprecation
From: |
Martin Grabmueller |
Subject: |
Re: gentemp deprecation |
Date: |
Wed, 16 May 2001 22:03:00 +0200 |
> From: "Dale P. Smith" <address@hidden>
> Date: Wed, 16 May 2001 15:19:41 -0400
>
> BTW: gensym does not return unique symbols:
>
> guile> (gensym)
> g0
> guile> (define g1 'foo)
> guile> (gensym)
> g1
>
> Wasn't this fixed a while back? Or was that gentemp?
Well, it was noticed a while ago, but AFAICT, nobody fixed it. I
wanted to wait for Marius vcell patch, which affected symbols as well.
The problem is that I can not imagine a way to safely create unique
symbols, since the only functions left for creating symbols are
extern SCM scm_mem2symbol (const char*, scm_sizet);
extern SCM scm_str2symbol (const char*);
which both enter the symbol into the global symbol hash table. So it
is always possible to create symbols (i.e. with string->symbol) eq? to
symbols returned by gensym. Can anyone else think of a solution here?
Regards,
'martin
Re: gentemp deprecation, Marius Vollmer, 2001/05/16