From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] SRFI-45: Support delayed expressions that return multiple values Date: Tue, 26 Mar 2013 06:32:42 -0400 Message-ID: <87sj3i8n91.fsf@tines.lan> References: <87ip4ofcyl.fsf@tines.lan> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1364293983 31375 80.91.229.3 (26 Mar 2013 10:33:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 26 Mar 2013 10:33:03 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Mar 26 11:33:28 2013 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UKRC2-000764-Rk for guile-devel@m.gmane.org; Tue, 26 Mar 2013 11:33:26 +0100 Original-Received: from localhost ([::1]:47924 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UKRBe-0007AV-Si for guile-devel@m.gmane.org; Tue, 26 Mar 2013 06:33:02 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:34086) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UKRBa-00079v-4S for guile-devel@gnu.org; Tue, 26 Mar 2013 06:32:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UKRBY-0000Wk-BN for guile-devel@gnu.org; Tue, 26 Mar 2013 06:32:58 -0400 Original-Received: from world.peace.net ([96.39.62.75]:49747) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UKRBY-0000Wd-6Y for guile-devel@gnu.org; Tue, 26 Mar 2013 06:32:56 -0400 Original-Received: from 209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com ([209.6.91.212] helo=tines.lan) by world.peace.net with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1UKRBR-0005D4-2d; Tue, 26 Mar 2013 06:32:49 -0400 In-Reply-To: <87ip4ofcyl.fsf@tines.lan> (Mark H. Weaver's message of "Mon, 18 Mar 2013 20:30:26 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 96.39.62.75 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:15996 Archived-At: --=-=-= Content-Type: text/plain Hello all, After some discussion with Eli Barzilay on the SRFI-45 mailing list [1], I've come to believe it's a mistake to extend it in a suboptimal way. 'eager' should have the same API as 'delay'. I'd rather do the job right, even if that means moving it to a different module. I think we should back out this change to SRFI-45. The only thing I think we should keep is the addition of 'promise?' to the list of exports (as is done in Racket). What do other people think? Mark [1] http://srfi.schemers.org/srfi-45/post-mail-archive/maillist.html --=-=-= Content-Type: message/rfc822 Content-Disposition: inline From: Mark H Weaver To: Eli Barzilay Cc: srfi-45@srfi.schemers.org Subject: Re: Compatible support for multiple values in SRFI-45 References: <20813.33703.678764.940999@winooski.ccs.neu.edu> <87ehf6c5hy.fsf@tines.lan> <20814.371.774864.529744@winooski.ccs.neu.edu> Date: Tue, 26 Mar 2013 06:14:18 -0400 In-Reply-To: <20814.371.774864.529744@winooski.ccs.neu.edu> (Eli Barzilay's message of "Sat, 23 Mar 2013 15:24:35 -0400") Message-ID: <871ub2a2o5.fsf@tines.lan> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Hi Eli, Eli Barzilay writes: > 30 minutes ago, Mark H Weaver wrote: >> >> I agree that it's unfortunate to destroy the symmetry between >> 'eager' and 'delay', but I see no way to support multiple values >> without either destroying that symmetry or breaking compatibility >> with SRFI-45. > > IMO, having a good, uniform API is *far* more important than keeping > `eager' a function. [...] > >> If you can suggest a better way to add support for multiple values >> that is compatible with SRFI-45, I'd be glad to hear it. > > Write a new short srfi which will say "same as srfi-45, except that > `eager' is a macro", then add multiple values. Seriously. Having thought more on this, I've come to agree with you. It's a mistake to bend over backwards to remain compatible with SRFI-45. It's more important to promote the best API we can come up with. Users wouldn't be able to rely on SRFI-45 having my proposed extension anyway. I think we will abandon this proposed extension for Guile, and leave SRFI-45 alone. Maybe it _is_ time for a new SRFI. Thanks, Mark --=-=-=--