From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Making 'eq' == 'eql' in bignum branch Date: Fri, 31 Aug 2018 21:58:55 +0000 Message-ID: <20180831215855.GB4898@ACM> References: <0F8F6E54-176C-48EE-9E7C-7CAC424D0D55@raeburn.org> <352c998a64c646b983a131039e9c732b@lanl.gov> <20180831195942.GA4898@ACM> <43c2bd25-f0db-c405-4117-a4a88db299b2@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1535752647 25193 195.159.176.226 (31 Aug 2018 21:57:27 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 31 Aug 2018 21:57:27 +0000 (UTC) User-Agent: Mutt/1.10.1 (2018-07-13) Cc: Pip Cet , "emacs-devel@gnu.org" To: =?iso-8859-1?Q?Cl=E9ment?= Pit-Claudel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 31 23:57:23 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 1fvrPu-0006RO-6k for ged-emacs-devel@m.gmane.org; Fri, 31 Aug 2018 23:57:22 +0200 Original-Received: from localhost ([::1]:58590 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fvrS0-0006sW-27 for ged-emacs-devel@m.gmane.org; Fri, 31 Aug 2018 17:59:32 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49629) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fvrRm-0006sJ-KV for emacs-devel@gnu.org; Fri, 31 Aug 2018 17:59:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fvrRh-00085A-IX for emacs-devel@gnu.org; Fri, 31 Aug 2018 17:59:18 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:33894 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1fvrRh-00084m-6D for emacs-devel@gnu.org; Fri, 31 Aug 2018 17:59:13 -0400 Original-Received: (qmail 43973 invoked by uid 3782); 31 Aug 2018 21:59:12 -0000 Original-Received: from acm.muc.de (p5B146A99.dip0.t-ipconnect.de [91.20.106.153]) by colin.muc.de (tmda-ofmipd) with ESMTP; Fri, 31 Aug 2018 23:59:11 +0200 Original-Received: (qmail 8348 invoked by uid 1000); 31 Aug 2018 21:58:55 -0000 Content-Disposition: inline In-Reply-To: <43c2bd25-f0db-c405-4117-a4a88db299b2@gmail.com> X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 193.149.48.1 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:229151 Archived-At: Hello, Clément. On Fri, Aug 31, 2018 at 16:30:46 -0400, Clément Pit-Claudel wrote: > Hey Alan, > On 2018-08-31 15:59, Alan Mackenzie wrote: > > I'm speaking not as a mathematician, but as somebody with a degree in > > maths. > I'm speaking as someone who didn't expect a conversation like this one > to spark such a strong-worded discussion :) The whole debate rings > odd to me (I agree with > https://math.stackexchange.com/questions/36289/is-infinity-a-number: > It comes down to the definition of "number," as well as the definition > of "infinity") "Number" is defined in maths (of course, it's not simple, with many different types of number), "infinity" is not, except in special restricted contexts. > > +/-infinity are not numbers. They do not satisfy the axioms which > > define numbers. For example they do not satisfy > > > > (x + y) + z = x + (y + z) > > > > . They cannot be made to satisfy these axioms. > I see the point, but… floating point numbers are not associative > either, and it doesn't seem to controversial to call them "numbers". Addition on real numbers is associative. It is also, almost, on floating points, but not quite, because floating point is only a practical approximation to real numbers. In practice, it means you've got to be careful with floating point calculations, and what order you do them in. > >> They're not real numbers, but neither are complex numbers, > >> split-complex numbers, dual numbers, p-adic numbers, quaternions, > >> octonions, sedenions, hyperreal numbers, or (please no) surreal > >> numbers. > > That's a strawman. The issue being discussed here is numbers, not > > arbitrary algebraic structures. > I read this as an example of the many meanings that the word "number" > can take, depending on the context. It sounded pretty convincing. To me, it sounded like a diversion from the concept of numbers we have in Emacs. > >> .... she has no exclusive claim over the definition (such as it is) > >> of "number" > > That's analagous to saying that climate scientists don't have the > > exclusive say-so about climate change. Ha ha, who needs experts? > This is a very strongly worded charge. The original formulation could > have been better, but to me it didn't look like a rejection of > expertise… rather, I took it as a statement that the word "number" > gets assigned different meanings across fields. Yes, it may. But which meaning should we stick to in Emacs? I say the mathematicians' meaning. It's the most likely to be consistent and the least likely to cause untoward side-effects. > >> (and I'm a bit surprised if she hadn't heard of at least one of the > >> extended real lines I linked). > > Again, offensive. "Infinity", with or without a sign, might be > > classed as an "extended number", but as noted above, is not a > > number. > I don't understand this part. Does the word "number" on its own even > have a strict definition, beyond something vague like Wikipedia's > "mathematical object used to count, measure and also label"? There are many different types (grades, if you like) of number. In Emacs, we have computer approximations of Integers and real numbers. Both of these concepts are rigorously defined in maths, in several different ways (which can be shown to be equivalent). Other types of number include rationals (aka fractions), algebraic numbers (solutions of polynomial equations with integer coefficients), and complex numbers (which cannot appear as arguments to min or max, since the relation < cannot be defined on complex numbers without creating contradictions). > Cheers, > Clément. -- Alan Mackenzie (Nuremberg, Germany).