From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Using the GNU GMP Library for Bignums in Emacs Date: Wed, 25 Apr 2018 16:29:56 -0700 Organization: UCLA Computer Science Department Message-ID: <2549728d-8e40-b46a-009e-07cef0c24208@cs.ucla.edu> References: <29f933ac-a6bf-8742-66a7-0a9d6d3e5a88@disroot.org> <83bmecy6fx.fsf@gnu.org> <0d3175d8-d996-651e-b221-71978bde3a65@cs.ucla.edu> <42cbc5ab-2f02-4aa5-4b19-7b2357f91692@cs.ucla.edu> <1f58acbf-a7d8-bf4e-3d0e-a285515a22e6@cs.ucla.edu> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1524698920 17986 195.159.176.226 (25 Apr 2018 23:28:40 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 25 Apr 2018 23:28:40 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 Cc: eller.helmut@gmail.com, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Apr 26 01:28:36 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 1fBTpz-0004Y9-GY for ged-emacs-devel@m.gmane.org; Thu, 26 Apr 2018 01:28:35 +0200 Original-Received: from localhost ([::1]:39509 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fBTs4-0000oc-M7 for ged-emacs-devel@m.gmane.org; Wed, 25 Apr 2018 19:30:44 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43736) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fBTrP-0000oJ-S3 for emacs-devel@gnu.org; Wed, 25 Apr 2018 19:30:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fBTrM-0004zm-OM for emacs-devel@gnu.org; Wed, 25 Apr 2018 19:30:03 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:37884) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fBTrM-0004yR-HV; Wed, 25 Apr 2018 19:30:00 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id DDD89160054; Wed, 25 Apr 2018 16:29:57 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id KPCLjtG-SgR9; Wed, 25 Apr 2018 16:29:57 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 21E0816006F; Wed, 25 Apr 2018 16:29:57 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id I1oZSfZH5FLD; Wed, 25 Apr 2018 16:29:57 -0700 (PDT) Original-Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 0705E160054; Wed, 25 Apr 2018 16:29:57 -0700 (PDT) In-Reply-To: Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 131.179.128.68 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:224893 Archived-At: On 04/25/2018 03:40 PM, Richard Stallman wrote: > If we were to support_only_ 64-bit systems, this argument would cease > to be valid. That is easy to arrange; just configure --with-wide-int. This causes Emacs to use 64-bit words on all platforms (or wider, at least in theory). If we made --with-wide-int the default (which I'm more and more thinking would be a good thing, for this and other reasons), then #xffffffff would work and would format the same on all platforms by default, and this would happen regardless of whether we also add bignums to Emacs. However, I don't see why assuming 64 bits would mean that the argument would cease to be valid. Even with that assumption, we would continue have the same problem with numbers like #xffffffffffffffff that exceed Emacs fixnum range when words are 64 bits. > I responded to a statement about what happens in C. Did you misread that > as a proposal to change Emacs? Yes, because after your response (which talked about what happens in C), you wrote "I contend that we want the same behavior in Emacs Lisp, too." Sorry if I misunderstood you. I think part of the problem here, is that once we have bignums then there will no problem representing unsigned values that are too large to fit into (say) 30-bit signed integers, so there will be no problem in having %x treat integers like Common Lisp and Python do: programs that want to do I/O of numbers as hexadecimal strings will be able to read and print them with %x and they'll all work just fine even if the numbers contain 8 or 16 or more hexadecimal digits. The problem arises in Emacs Lisp only because it is limited to fixnums now.