From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.bugs Subject: bug#14792: Error in manual "(guile-2) Object Properties" Date: Tue, 16 Jul 2013 14:59:28 -0400 Message-ID: <874nbu2uwf.fsf@tines.lan> References: <87ehbedwxt.fsf@fencepost.gnu.org> <87siztarok.fsf@tines.lan> <87wqp3mlkg.fsf@gnu.org> <87li563396.fsf@tines.lan> <877ggq9wca.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1374001278 21356 80.91.229.3 (16 Jul 2013 19:01:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 16 Jul 2013 19:01:18 +0000 (UTC) Cc: 14792@debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= To: David Kastrup Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Tue Jul 16 21:01:18 2013 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UzAUt-0005fX-K2 for guile-bugs@m.gmane.org; Tue, 16 Jul 2013 21:01:15 +0200 Original-Received: from localhost ([::1]:34825 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UzAUs-0007OK-TN for guile-bugs@m.gmane.org; Tue, 16 Jul 2013 15:01:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40783) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UzAUm-0007OD-2O for bug-guile@gnu.org; Tue, 16 Jul 2013 15:01:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UzAUg-0000ay-K5 for bug-guile@gnu.org; Tue, 16 Jul 2013 15:01:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:36411) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UzAUg-0000at-H3 for bug-guile@gnu.org; Tue, 16 Jul 2013 15:01:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1UzAUg-0002hK-9Z for bug-guile@gnu.org; Tue, 16 Jul 2013 15:01:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Mark H Weaver Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 16 Jul 2013 19:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14792 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 14792-submit@debbugs.gnu.org id=B14792.137400120410190 (code B ref 14792); Tue, 16 Jul 2013 19:01:02 +0000 Original-Received: (at 14792) by debbugs.gnu.org; 16 Jul 2013 19:00:04 +0000 Original-Received: from localhost ([127.0.0.1]:58960 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UzATh-0002dk-Bt for submit@debbugs.gnu.org; Tue, 16 Jul 2013 15:00:02 -0400 Original-Received: from world.peace.net ([96.39.62.75]:54144 ident=hope7) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UzATe-0002dR-8n for 14792@debbugs.gnu.org; Tue, 16 Jul 2013 14:59:58 -0400 Original-Received: from 209-6-120-240.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com ([209.6.120.240] helo=tines.lan) by world.peace.net with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1UzATX-00034c-AW; Tue, 16 Jul 2013 14:59:51 -0400 In-Reply-To: <877ggq9wca.fsf@fencepost.gnu.org> (David Kastrup's message of "Tue, 16 Jul 2013 20:46:29 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7234 Archived-At: Hi David, David Kastrup writes: > Mark H Weaver 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. Numbers and characters do not have any notion of "object identity", apart from operational equivalence. For all values where "object identity" makes any sense at all, 'eqv?' does what you want. Regards, Mark