From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: array handles and non-local exits Date: Fri, 10 Jul 2009 11:27:42 +0100 Message-ID: References: <49dd78620809151317i3421081ey3337d678477046ab@mail.gmail.com> <87ljxsv80p.fsf@gnu.org> <49dd78620809171232n745ac8ecgd2c3936989ce723b@mail.gmail.com> <87myi5g98g.fsf@gnu.org> <49dd78620809180217p21c36802me305270af14a6f95@mail.gmail.com> <87my7j8jr6.fsf@gnu.org> <873a99ftap.fsf@gnu.org> <87ljmxsgxp.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1247223328 9324 80.91.229.12 (10 Jul 2009 10:55:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 10 Jul 2009 10:55:28 +0000 (UTC) Cc: guile-devel@gnu.org To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Jul 10 12:55:19 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MPDl8-0006ji-3g for guile-devel@m.gmane.org; Fri, 10 Jul 2009 12:55:18 +0200 Original-Received: from localhost ([127.0.0.1]:34581 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MPDl7-0002eV-HF for guile-devel@m.gmane.org; Fri, 10 Jul 2009 06:55:17 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MPDjo-0001Gr-K5 for guile-devel@gnu.org; Fri, 10 Jul 2009 06:53:56 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MPDjj-000194-4y for guile-devel@gnu.org; Fri, 10 Jul 2009 06:53:55 -0400 Original-Received: from [199.232.76.173] (port=43542 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MPDji-00018m-ST for guile-devel@gnu.org; Fri, 10 Jul 2009 06:53:50 -0400 Original-Received: from a-sasl-quonix.sasl.smtp.pobox.com ([208.72.237.25]:51878 helo=sasl.smtp.pobox.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MPDjf-0007Mb-Ou; Fri, 10 Jul 2009 06:53:47 -0400 Original-Received: from localhost.localdomain (unknown [127.0.0.1]) by a-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTP id D9639260C0; Fri, 10 Jul 2009 06:53:46 -0400 (EDT) Original-Received: from unquote (unknown [213.97.139.47]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTPSA id 05C26260BE; Fri, 10 Jul 2009 06:53:44 -0400 (EDT) In-Reply-To: <87ljmxsgxp.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Thu, 09 Jul 2009 23:08:18 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (gnu/linux) X-Pobox-Relay-ID: F1677CDE-6D3F-11DE-8A32-B1121A496417-02397024!a-sasl-quonix.pobox.com X-detected-operating-system: by monty-python.gnu.org: Solaris 10 (beta) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:8857 Archived-At: Hi, On Thu 09 Jul 2009 22:08, ludo@gnu.org (Ludovic Court=C3=A8s) writes: >> To me this is a weak argument, especially given that much code probably >> doesn't do the right thing in the presence of nonlocal exits. > > To me, *this* is a weak argument. ;-) Heh, allow me to elaborate then. "Let's keep this thing because maybe it will be useful" is a form of cargo-culting. I am saying that it has no use, and should be removed, *because* its presence has a cost and no benefit. Not so much in time, but in code complexity. You can't just write functions that return values, you have to contort code to store temporaries and then release and then return. You have to write paired statements. If you call a user function, you really should set up a dynwind, which conses, and contorts your code even further. Array_handle_release is a bad idea. http://en.wikipedia.org/wiki/Cargo_cult_programming Regards, Andy --=20 http://wingolog.org/