From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Pushing the `gnus-range-*' functions down into the C layer Date: Fri, 10 Sep 2010 17:22:48 +0200 Organization: Organization?!? Message-ID: <8762ydr5br.fsf@lola.goethe.zz> References: <8739ti68sz.fsf@lifelogs.com> <87pqwm1dsl.fsf@uwakimon.sk.tsukuba.ac.jp> <87iq2d4sd5.fsf@lifelogs.com> <8762yd4r7j.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1284132206 7384 80.91.229.12 (10 Sep 2010 15:23:26 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 10 Sep 2010 15:23:26 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 10 17:23:24 2010 Return-path: Envelope-to: ged-emacs-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 1Ou5Rj-0006Xt-Vb for ged-emacs-devel@m.gmane.org; Fri, 10 Sep 2010 17:23:24 +0200 Original-Received: from localhost ([127.0.0.1]:34040 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ou5Rj-0000hn-5M for ged-emacs-devel@m.gmane.org; Fri, 10 Sep 2010 11:23:23 -0400 Original-Received: from [140.186.70.92] (port=43666 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ou5Ra-0000gV-PX for emacs-devel@gnu.org; Fri, 10 Sep 2010 11:23:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Ou5RU-0000oI-Cy for emacs-devel@gnu.org; Fri, 10 Sep 2010 11:23:14 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:34967) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ou5RT-0000ny-T7 for emacs-devel@gnu.org; Fri, 10 Sep 2010 11:23:08 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Ou5RO-0006Pw-9R for emacs-devel@gnu.org; Fri, 10 Sep 2010 17:23:02 +0200 Original-Received: from p508ed588.dip.t-dialin.net ([80.142.213.136]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 10 Sep 2010 17:23:02 +0200 Original-Received: from dak by p508ed588.dip.t-dialin.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 10 Sep 2010 17:23:02 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 35 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: p508ed588.dip.t-dialin.net X-Face: 2FEFf>]>q>2iw=B6, xrUubRI>pR&Ml9=ao@P@i)L:\urd*t9M~y1^:+Y]'C0~{mAl`oQuAl \!3KEIp?*w`|bL5qr,H)LFO6Q=qx~iH4DN; i"; /yuIsqbLLCh/!U#X[S~(5eZ41to5f%E@'ELIi$t^ Vc\LWP@J5p^rst0+('>Er0=^1{]M9!p?&:\z]|;&=NP3AhB!B_bi^]Pfkw User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:sHGcxm3B6ceD05yhAIfvOZla+to= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:129911 Archived-At: Andreas Schwab writes: > Lars Magne Ingebrigtsen writes: > >> Ted Zlatanov writes: >> >>> If everything was inside a num64-* namespace and a num64.el package, >>> it's a pretty easy implementation. >> >> I think for bignums to be interesting, they'd have to be native in >> Emacs. It'd suck if you had a number, but had to say >> >> `(num64+ num1 num2)' >> >> if it's a bignum, and >> >> `(+ num1 num2)' >> >> if not. To take a random example. > > + already supports more than one type of number, so it would not be a > problem to add support for yet another one. But that does not require > that Emacs supports bignums everywhere, just like there are already many > places that accept integers but not floats. Integers are not transparently promoted to floats depending on size. Bignums are somewhat pointless if that isn't the case. But then integers of equal value are eq (and it is easy enough to need to make use of that by using assq and similar). Equal bignums, being variable size, can't handily be eq unless they are kept behind hashes making sure that at any given time, all bignums of equal value are kept in the same storage location. -- David Kastrup