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

From: Mark H Weaver <[email-masked]>
Date: Tue, 16 Jul 2013 15:52:23 -0400

David Kastrup <[email-masked]> writes:

> Mark H Weaver <[email-masked]> writes:
>
>> David Kastrup <[email-masked]> writes:
>>
>>> Mark H Weaver <[email-masked]> writes:
>>>
>>> object identity is checked by eq? and is conceptually different from
>>> value equality.
>>
>> The Scheme standards don't support your view.  The _only_ difference
>> between 'eq?' and 'eqv?' is that 'eqv?' is well-defined on numbers and
>> characters, whereas 'eq?' is unspecified for those types.
>
> And why would that be if numbers were proper objects?  The difference is
> _exactly_ there because they aren't.

I don't know what you mean by "proper objects".  I guess maybe you mean
"objects with identity".

>> Numbers and characters do not have any notion of "object identity",
>> apart from operational equivalence.
>
> Which is why it does not make a lot of sense to assign "object
> properties" to them.

I understand that in the dominant "object oriented" programming
communities of today, the word "object" usually implies mutability and
identity, but the Scheme standards use the term differently.

In the Scheme standards, the word "object" is synonymous with "value".
R5RS section 1.1 states "Types are associated with values (also called
objects) rather than with variables."  Furthermore, R6RS consistently
calls numbers "objects", even though they lack "object identity" in the
sense that you mean.

     Mark