From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: bignum branch Date: Wed, 18 Jul 2018 16:41:14 -0400 Message-ID: References: <87o9fbbw1t.fsf@tromey.com> <53ba128d-7888-e15a-c4a2-1d7a65f51345@cs.ucla.edu> <83wotu7fcj.fsf@gnu.org> <83k1pt7q1e.fsf@gnu.org> <83h8kx7oeu.fsf@gnu.org> <83fu0h7nr6.fsf@gnu.org> <83d0vl7kg2.fsf@gnu.org> <4bc2a6ba-bc73-c4a9-f7a6-20303955bc7f@cs.ucla.edu> <838t696zb2.fsf@gnu.org> <5095f6d2-c8c1-8d9b-4f4f-ccb74a68d58e@cs.ucla.edu> <8547e501-a41f-68eb-6e00-5fed6c593da4@gmail.com> <73e5dd79-d7d5-3bec-f991-04ceb5d3472d@gmail.com> <87o9f45ot8.fsf@Rainer.invalid> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1531946407 19521 195.159.176.226 (18 Jul 2018 20:40:07 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 18 Jul 2018 20:40:07 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jul 18 22:40:03 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fftEx-0004ta-4j for ged-emacs-devel@m.gmane.org; Wed, 18 Jul 2018 22:40:03 +0200 Original-Received: from localhost ([::1]:38223 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fftH2-0006RR-Ay for ged-emacs-devel@m.gmane.org; Wed, 18 Jul 2018 16:42:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57951) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fftGJ-0006QQ-Bq for emacs-devel@gnu.org; Wed, 18 Jul 2018 16:41:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fftGG-0005EP-81 for emacs-devel@gnu.org; Wed, 18 Jul 2018 16:41:27 -0400 Original-Received: from [195.159.176.226] (port=38713 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fftGF-0005Ds-Vx for emacs-devel@gnu.org; Wed, 18 Jul 2018 16:41:24 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1fftE6-0003zV-D8 for emacs-devel@gnu.org; Wed, 18 Jul 2018 22:39:10 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 21 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:N9xqdzs/Xx1gEpg19i1q+RI5cMY= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 195.159.176.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:227556 Archived-At: > NaN (specifically of the IEEE754 variety) is supposed to compare > non-equal even when compared to itself. There's "compare" and there's "compare". I think we always want (eql x x) to return t, so the above behavior makes a lot of sense. The rule that NaN is not equal to itself should only be applied when doing a numerical comparison (i.e. (= x x) may return nil). > I recognize that eql is used in the above, but that would probably > still create two LISP objects that happen to have the same value, but > the established FP math says these two values should not compare equal > anyway. If you stray from that convention there should be a really > good reason for that and it needs to be prominently documented. NaNs are a minefield. I understand there are good reasons for this minefield, but it's good practice to try and confine the pain to those places where it is indispensable. Stefan