> From: "Dale P. Smith" <[EMAIL PROTECTED]>
> 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

_______________________________________________
Bug-guile mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-guile

Reply via email to