From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: O(N^2) behavior in LOOP Date: Sat, 29 May 2010 18:06:11 -0400 Organization: Censorship Research Center Message-ID: <4C018FD3.1020305@censorshipresearch.org> References: <4C018D79.7040409@censorshipresearch.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig82A01A570894B3B305C3F592" X-Trace: dough.gmane.org 1275170797 24959 80.91.229.12 (29 May 2010 22:06:37 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 29 May 2010 22:06:37 +0000 (UTC) To: Emacs development discussions Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun May 30 00:06:36 2010 connect(): No such file or directory 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 1OIUAr-0005VE-1u for ged-emacs-devel@m.gmane.org; Sun, 30 May 2010 00:06:33 +0200 Original-Received: from localhost ([127.0.0.1]:53718 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OIUAq-0002eh-FV for ged-emacs-devel@m.gmane.org; Sat, 29 May 2010 18:06:32 -0400 Original-Received: from [140.186.70.92] (port=39616 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OIUAj-0002ec-Lh for emacs-devel@gnu.org; Sat, 29 May 2010 18:06:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OIUAi-0005q3-Fs for emacs-devel@gnu.org; Sat, 29 May 2010 18:06:25 -0400 Original-Received: from haystack.austinheap.com ([70.32.98.68]:45556 helo=haystacknetwork.com) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OIUAi-0005px-EC for emacs-devel@gnu.org; Sat, 29 May 2010 18:06:24 -0400 User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4 In-Reply-To: <4C018D79.7040409@censorshipresearch.org> X-Enigmail-Version: 1.0.1 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. 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:125348 Archived-At: This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig82A01A570894B3B305C3F592 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 5/29/10 5:56 PM, Daniel Colascione wrote: > Before I go fix the loop macro, is there a _reason_ for the nconc silli= ness? Err, never mind. LOOP has to work that way. An 'into' variable is visible; code that LOOP knows nothing about can modify it in arbitrary ways, which would invalidate any cached tail pointer, ruling out that approach. Also, code that inspects the variable should see a representation "as it should be", which rules out a temporarily-reversed representation, ruling out the push and nconc used in the anonymous-variable case. I don't see any way to do better than what LOOP does now without some kind of code-walker. I still want to fix the anonymous-variable case to use a tail pointer though. Sorry for the noise. --------------enig82A01A570894B3B305C3F592 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (Darwin) iEYEARECAAYFAkwBj9cACgkQ17c2LVA10VvTuQCeOpGlBiy9NpkX+REdOenYmiTC DsYAmgMqzr4puia4v+ZPMbJWhURQyec1 =tsjD -----END PGP SIGNATURE----- --------------enig82A01A570894B3B305C3F592--