[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14792: Error in manual "(guile-2) Object Properties"
From: |
David Kastrup |
Subject: |
bug#14792: Error in manual "(guile-2) Object Properties" |
Date: |
Tue, 16 Jul 2013 21:30:50 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
Mark H Weaver <address@hidden> writes:
> Hi David,
>
> David Kastrup <address@hidden> writes:
>
>> Mark H Weaver <address@hidden> writes:
>>
>>> 'eqv?' is Scheme's fundamental "operational equivalence" predicate.
>>> 'eq?' is just an ugly efficiency hack, a poor cousin of 'eqv?' that
>>> fails in surprising ways. No _correct_ program is ever broken by making
>>> 'eq?' an alias to 'eqv?'. Many programs contain subtle bugs because of
>>> their inappropriate use of 'eq?'.
>>>
>>> What's the argument on the other side? Is there a compelling reason to
>>> use 'eq?' instead of 'eqv?' for object properties?
>>
>> 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.
> 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.
--
David Kastrup
- bug#14792: Error in manual "(guile-2) Object Properties", David Kastrup, 2013/07/04
- bug#14792: Error in manual "(guile-2) Object Properties", Mark H Weaver, 2013/07/05
- bug#14792: Error in manual "(guile-2) Object Properties", Ludovic Courtès, 2013/07/06
- bug#14792: Error in manual "(guile-2) Object Properties", Mark H Weaver, 2013/07/16
- bug#14792: Error in manual "(guile-2) Object Properties", David Kastrup, 2013/07/16
- bug#14792: Error in manual "(guile-2) Object Properties", Mark H Weaver, 2013/07/16
- bug#14792: Error in manual "(guile-2) Object Properties",
David Kastrup <=
- bug#14792: Error in manual "(guile-2) Object Properties", Mark H Weaver, 2013/07/16
- bug#14792: Error in manual "(guile-2) Object Properties", David Kastrup, 2013/07/16
- bug#14792: Error in manual "(guile-2) Object Properties", Ludovic Courtès, 2013/07/16
bug#14792: Actually, this discussion is moot, David Kastrup, 2013/07/27