On 18 Sep 2024, at 17:25, Marc Nieper-Wißkirchen <marc.nie...@gmail.com> wrote:

> And the text reflects this by saying that the keys should have locations.  
> This means that you won't see a catastrophic failure, but you have to know 
> what you do (and your implementation of SRFI 254).
> 
>>  I think it is probably a bad idea, because what has location and what
>> does not is implementation-dependent – beyond matters which, in R6 and
> 
> It is partially implementation-dependent, which is an important distinction.  
> The RnRS define a lot of value types that have locations.

In order words, it is implementation-dependent.

Writing portable code that uses SRFI 254 will be a nightmare if it is not 
possible to pass any given object into an ephemeron or guardian.

I would maybe accept a restriction on passing some very minimal set of types as 
keys to an ephemeron: #t, #f, '().
Anything else might have location in a given implementation.
(We mustn’t forget that R7-small implementations with no fixnums, i.e. where 
all numbers are boxed like in CPython, may also want to support SRFI 254.)


Daphne

Reply via email to