Subject: Re: bug#14792: Error in manual "(guile-2) Object Properties"

From: [email-masked] (Ludovic Courtès)
Date: Sat, 06 Jul 2013 23:21:19 +0200

Mark H Weaver <[email-masked]> skribis:

> David Kastrup <[email-masked]> writes:
>
>> The manual states in "Object Properties":
>>
>>        A single object property created by `make-object-property' can
>>     associate distinct property values with all Scheme values that are
>>     distinguishable by `eq?' (including, for example, integers).
>>
>> Integers are not documented to be reliably distinguishable by eq? (which
>> means that equal integers might not be eq).
>
> Indeed, good point!
>
> I think we should change object-properties to use 'eqv?' hash operations
> instead of 'eq?'.  The only advantage to 'eq?' is a marginal efficiency
> benefit, but that's no doubt lost in the noise, not only from the hash
> table operations but from the use of fat mutexes.
>
> The only functional difference between Guile's 'eq?' and 'eqv?' is that
> 'eq?' is not reliable on numbers.  Our manual has been telling people
> for years that integers can be used as keys for object properties.
> Therefore, we should make it so.  IMO, anyway.
>
> What do other people think?

Associating object properties with numbers doesn’t seem useful to me, so
my inclination would be to fix the manual, FWIW.

Ludo’.