Mark H Weaver <[email protected]> skribis: > David Kastrup <[email protected]> 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’.
