From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mike Gran Newsgroups: gmane.lisp.guile.devel Subject: Re: Equality predicates, signed zeroes, R5RS and R6RS Date: Mon, 31 Jan 2011 13:36:48 -0800 (PST) Message-ID: <430524.11134.qm@web37903.mail.mud.yahoo.com> Reply-To: Mike Gran NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1296511936 22322 80.91.229.12 (31 Jan 2011 22:12:16 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 31 Jan 2011 22:12:16 +0000 (UTC) Cc: Andy Wingo , Taylor R Campbell To: Mark H Weaver , "guile-devel@gnu.org" Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Jan 31 23:12:12 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Pk1yl-0007CZ-HP for guile-devel@m.gmane.org; Mon, 31 Jan 2011 23:12:11 +0100 Original-Received: from localhost ([127.0.0.1]:43257 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pk1ka-0004kO-Ep for guile-devel@m.gmane.org; Mon, 31 Jan 2011 16:57:32 -0500 Original-Received: from [140.186.70.92] (port=42842 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pk1gS-0001Wp-JL for guile-devel@gnu.org; Mon, 31 Jan 2011 16:53:21 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pk1QY-0001lU-NV for guile-devel@gnu.org; Mon, 31 Jan 2011 16:36:51 -0500 Original-Received: from web37903.mail.mud.yahoo.com ([209.191.91.165]:24929) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1Pk1QY-0001lI-Ht for guile-devel@gnu.org; Mon, 31 Jan 2011 16:36:50 -0500 Original-Received: (qmail 30219 invoked by uid 60001); 31 Jan 2011 21:36:49 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1296509809; bh=AE8YJzMU7Aa9r40hTR6QbmbEGHtlsm1yPNBRSuPzpmY=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding; b=M8esorPEV8UY+eOIdogb0YFWb0zooT1/0zVRjNkyr83M1vxKWxNYbSwEe77Mq2dUlPRuCkqtEyFMvM20JCedCXETT3eenWcb4De75GDnEpE8DF9Eszk0EPxd1wbIDiKeZP6MPruJu2est5kMtJ9esFtDWt1uft1bhCF1KYqQD4E= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding; b=cggR2cRSWJO4aQWCFubW4I8V+jyEXoQRiCKVlEO5naGM5mx4YY4apFWwg9bK6P05b8FYEhOgUuN583KpOWtqeTUCY+kUdEgaRu4tO6bFWjugBYUimS2vMckAEfukAmHgyApR7xgd4mXrVKPAyy8LW8Q7Yzyua3aLKo0A7nRrmaU=; X-YMail-OSG: sBBhEbQVM1n6Z_XakaM.ZbzfeKCHblWbuBg6gCnIkb_DkS8 CHuw- Original-Received: from [207.8.91.2] by web37903.mail.mud.yahoo.com via HTTP; Mon, 31 Jan 2011 13:36:48 PST X-Mailer: YahooMailWebService/0.8.108.291010 X-detected-operating-system: by eggs.gnu.org: FreeBSD 6.x (1) X-Received-From: 209.191.91.165 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:11472 Archived-At: =0A> From:Mark H Weaver =0A> To:guile-devel@gnu.org=0A> Cc:= Andy Wingo ; Taylor R Campbell =0A> S= ent:Monday, January 31, 2011 11:53 AM=0A> Subject:Equality predicates, sign= ed zeroes, R5RS and R6RS=0A> =0A> An issue has come to my attention that de= serves wider discussion.=0A> =0A> Since at least Guile 1.8, (=3D 0.0 -0.0) = has returned #t=0A> but (eqv? 0.0 -0.0) has returned #f, and this is still = the case.=0A> =0A> PLT Scheme agrees with us that (eqv? 0.0 -0.0) is #f, bu= t MIT/GNU Scheme,=0A> SCM, Chicken, and Gauche all return #t in this case.= =0A=0AAs an aside, as of a couple of months ago, it was possible to create= =0Athe following seven versions of zero=A0in Guile using the default reader= .=0A=0A0, =B10.0, =B10.0=B10.0i =0A=0ANote that there is no way to make neg= ative zero integer (-0).=A0 And=0Athere are no zero rationals:=A0=A0=B10/2,= for example.=0A=0AEach scheme has its quirks.=0A=0AMzScheme 4.1 would let = you create complex numbers with integer representation=0Areal and float rep= resentation imaginary parts: 0+0.0i, for example. The integer=0Aparts can o= nly be positive zero and the float parts can be =B10.0.=0A=0ABut as a physi= cist, I declare that this is all madness. =0A=0A-Mike