From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: John Yates Newsgroups: gmane.emacs.devel Subject: Re: Making 'eq' == 'eql' in bignum branch Date: Fri, 10 Aug 2018 12:52:53 -0400 Message-ID: References: <29f933ac-a6bf-8742-66a7-0a9d6d3e5a88@disroot.org> <765767b2-d2e5-a9a6-f724-d58ecf4847bb@cs.ucla.edu> <76081b5d-8c10-0a37-2c97-d4864c0faa80@cs.ucla.edu> <09153aed-361d-4f82-d9ac-b502314769ae@cs.ucla.edu> <83600yt8ih.fsf@gnu.org> <83h8kgpnir.fsf@gnu.org> <7dd71d44-69bc-3adf-576b-8b9e31184a24@cs.ucla.edu> <83d0v4p1si.fsf@gnu.org> <827beb76-3adf-f2f9-33b1-1baee55680cd@cs.ucla.edu> <83wotbo04h.fsf@gnu.org> <77d5f8b0-2277-b28e-8565-d3e00c411795@cs.ucla.edu> <83ftzyocry.fsf@gnu.org> <837elao4bo.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Trace: blaine.gmane.org 1533919872 17009 195.159.176.226 (10 Aug 2018 16:51:12 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 10 Aug 2018 16:51:12 +0000 (UTC) Cc: Eli Zaretskii , Paul Eggert , Stefan Monnier , Emacs developers To: pipcet@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 10 18:51:07 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 1foAd1-0004JX-4a for ged-emacs-devel@m.gmane.org; Fri, 10 Aug 2018 18:51:07 +0200 Original-Received: from localhost ([::1]:57278 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foAf7-000078-JU for ged-emacs-devel@m.gmane.org; Fri, 10 Aug 2018 12:53:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53309) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foAf0-000071-TK for emacs-devel@gnu.org; Fri, 10 Aug 2018 12:53:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1foAf0-0002wT-8K for emacs-devel@gnu.org; Fri, 10 Aug 2018 12:53:10 -0400 Original-Received: from mail-yw1-f66.google.com ([209.85.161.66]:34359) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1foAew-0002i7-1M; Fri, 10 Aug 2018 12:53:06 -0400 Original-Received: by mail-yw1-f66.google.com with SMTP id j68-v6so9074269ywg.1; Fri, 10 Aug 2018 09:53:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3WRI1gZwCr/Q3hXCRjolBytGKjlJwQ+b1ET9C21TPI0=; b=dh2yCX072prWihwamUVlHKp1dDR8/UDoa1B7/mXFavs1ZZvI0bpzw17tF6gErx6IDE ALtNhYQCG3ydhm1ai92i6h7WYOP0pqkhCOzOZ4ut3TjKQr52F3lWVXCqE+0xhcQk3rk4 d0+kUppf9hmR5Ov4UaJoD+6OqPHYEvNidd/3LlJQUgkUhqAOEta+rVRA/JbyCcuL1Jte HCMK/7Ho/M8QsT6lIM+JAXADV5bHeOwZVGr/8b7CSlZYqYLib34OFAXaR1cSQ6JEtP/d hMdHP/nhDtr/cKbiMh0TQ+jFK6M8h65vlSuFtCEL6ivmiqpKvvEJoRYbHYdjt80IOPMU MzWg== X-Gm-Message-State: AOUpUlHqCyWCg47ogibiYmrcfDJkhL+UXnkU9BrH1FojFiH8m2uvCXGO 5zuznblRs7pBZ6wH4u/QlMhtvgsEx9N6KSrpaiU= X-Google-Smtp-Source: AA+uWPx54QZzWFhYbkXmpWaPkpUpV3pY0LMxVCiDnXW54p6KfFjqQUQ7wb3jAaFZY9q4LSCJmS/XsL2HK6heaQZbcNY= X-Received: by 2002:a81:c0d:: with SMTP id 13-v6mr3840704ywm.459.1533919985060; Fri, 10 Aug 2018 09:53:05 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.161.66 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:228389 Archived-At: On Fri, Aug 10, 2018 at 11:44 AM Pip Cet wrote: > giving up IEEE compliance and surprising the occasional user who wants it. I have not been paying much attention to this thread so perhaps I am preaching to the choir here... In my day job one of my multi-year efforts has been to bring Mathwork's MATLAB optimization and generated code into ever greater compliance with the IEEE 754 standard. As such I have much exposure to both the specifics of the standard and the (often erroneous) expectations of users. The standard talks about values, not objects, and relationships between values. NaN is a value just as much as 2 or pi. More importantly the standard says that two NaN values (even if fetched from the same container within a single expression) _always_ compare not equal. Were I that "occasional user who wants" IEEE compliance in my elisp code I would expect comparisons of NaNs (whether via either eq or eql) to return nil. My sense is that to achieve that effect one must _always_ compare floating point objects, even if they reside at the same address. /john