The alternative proposal Marc Nieper-Wißkirchen (26 Jan 2025 16:13 UTC)
Re: The alternative proposal Daphne Preston-Kendal (26 Jan 2025 18:02 UTC)
Re: The alternative proposal Shiro Kawai (26 Jan 2025 18:23 UTC)
Re: The alternative proposal Marc Nieper-Wißkirchen (26 Jan 2025 18:43 UTC)
Re: The alternative proposal Vincent Manis (he/him) (26 Jan 2025 18:46 UTC)
Re: The alternative proposal Marc Nieper-Wißkirchen (26 Jan 2025 18:34 UTC)

Re: The alternative proposal Vincent Manis (he/him) 26 Jan 2025 18:46 UTC

I would be happy with (at most) (generate-symbol <pretty-name>), no
lexical syntax, and no read/write invariance. I don't like SRFI-10, so
would not like to see a dependence upon it here, though of course an
implementation can add a procedure that writes out its argument in a
SRFI-10 format. I have used gensym from time to time for other purposes
than macros, but it really isn't important enough for me to care about.

In any case, generate-symbol can be written portably as

(define (generate-symbol pretty)
   (string->symbol (string-append pretty (make-uuid))))

This is not an “uninterned” symbol (that word reaches into the
implementation), merely one that is extremely unlikely to compare eq? to
any other symbol in the program or in input data.

As others have said, there are good reasons for providing some sort of
UUID procedure anyway.

I'd prefer to keep this as minimal as possible. -- vincent