Re: The alternative proposal
Daphne Preston-Kendal 26 Jan 2025 18:01 UTC
Why ought I to have to pull out a random number generator – and hope I don’t lose the seed lottery – when the memory manager is perfectly capable of giving me a symbol which is guaranteed not to have the same location as any other symbol?
Incidentally, if your reading of R6RS is correct in that it forbids uninterned symbols, that (a) is yet another argument that the R6RS’s ban on extensions was harmful, even beyond the bounds of the libraries it defines; and (b) means that there is, to my knowledge, not a single conformant implementation of the R6RS, because all of them have uninterned symbols.
Daphne
> On 26 Jan 2025, at 17:13, Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote:
>
> I have sketched an alternative proposal that does not need
> uninternedness and doesn't change the semantics of symbols (as given
> in R6RS, for example).
>
> You can find it here: https://github.com/mnieper/gensyms
>
> This proposal addresses concerns raised by Antero, John, Shiro, and
> myself while allowing the use cases sketched by Daphne and Wolfgang.
>
> As it happens, the proposal can be implemented portably, given a
> random source (e.g. /dev/random). A native implementation that creates
> random symbol names lazily would be more efficient, though.
>
> Marc