From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Chris K. Jester-Young" Newsgroups: gmane.lisp.guile.devel Subject: Re: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.7-291-g4a1cdc9 Date: Fri, 5 Apr 2013 08:36:51 -0400 Message-ID: <20130405123651.GA13294@lotus.destinee.acro.gen.nz> References: <871uapwk02.fsf@tines.lan> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1365278721 30810 80.91.229.3 (6 Apr 2013 20:05:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 6 Apr 2013 20:05:21 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat Apr 06 22:05:23 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 1UOZJv-00023j-0K for guile-devel@m.gmane.org; Sat, 06 Apr 2013 22:02:39 +0200 Original-Received: from localhost ([::1]:60544 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UO5th-0002ty-KT for guile-devel@m.gmane.org; Fri, 05 Apr 2013 08:37:37 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:33109) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UO5tY-0002iO-1B for guile-devel@gnu.org; Fri, 05 Apr 2013 08:37:31 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UO5tW-0004Lf-8U for guile-devel@gnu.org; Fri, 05 Apr 2013 08:37:27 -0400 Original-Received: from mail-ye0-f173.google.com ([209.85.213.173]:33156) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UO5tW-0004LO-1O for guile-devel@gnu.org; Fri, 05 Apr 2013 08:37:26 -0400 Original-Received: by mail-ye0-f173.google.com with SMTP id q5so555409yen.4 for ; Fri, 05 Apr 2013 05:37:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:date:from:to:subject:message-id:mail-followup-to :references:mime-version:content-type:content-disposition :in-reply-to:user-agent; bh=32RW8E1xjlNQfz3L7cBXNN2S5jTL2LWxK6xvztZ6XLQ=; b=hkWmpcrJ12WU89WRRxYD5A7Ifg8yzLiFxxL1UnPQft5cwI+z1z1iS0cSjH9zCHeT92 bmJyG/2dG0cGF29RlyiaLcUSjc8snksJ1xrNcM1pDDeybLISVpR+nHXGuzt815sLab5b PyAv5fh53sIFN7+ZtHZC0ZqXG570sQoFzmBJhXhrxTuG0U6nl02h5QWr/899ukwU8Uc+ +on6ruOfH9YwogQNvU+hKNPiQTyZpgumsn4V6CwGFsRSKb00sPEbNZL6KQ9+5/FYNCe7 wf++FngVfrzTQOSiFXNPrz9iVb/nlYWS9OHoqpFTxgQID4DrAoYCzGXbOj1ekDALR+gx VtiQ== X-Received: by 10.236.162.39 with SMTP id x27mr6077257yhk.50.1365165444800; Fri, 05 Apr 2013 05:37:24 -0700 (PDT) Original-Received: from lotus.destinee.acro.gen.nz (cpe-107-015-120-110.nc.res.rr.com. [107.15.120.110]) by mx.google.com with ESMTPS id d49sm6693424yhc.27.2013.04.05.05.37.22 (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 05 Apr 2013 05:37:23 -0700 (PDT) Mail-Followup-To: guile-devel@gnu.org Content-Disposition: inline In-Reply-To: <871uapwk02.fsf@tines.lan> User-Agent: Mutt/1.5.20 (2009-06-14) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 209.85.213.173 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:16170 Archived-At: Hi Mark, On Fri, Apr 05, 2013 at 02:48:29AM -0400, Mark H Weaver wrote: > Thanks for working on this, but in the future, please post your proposed > patches for review before pushing to stable-2.0 or master. You're right, that was a lapse of judgement on my part. Sorry. > > -(define %stream-null '(stream . null)) > > +(define %stream-null (cons 'stream 'null)) > > This change is not mentioned in the commit message. > Ideally, it should have been a separate commit, IMO. Fair enough. If you prefer, I can revert this last commit and then make this a separate commit. That will make the git blame a bit tidier, at the expense of having a revert commit in the log. > The clarity of this code could greatly benefit from some helper > procedures. One possibility would be a procedure that takes a promise > and two continuation arguments: one to call if the promise has already > been computed, and another to call if it has not yet been. Another > possibility would be to simply have a predicate that tells whether a > promise has already been computed. I was actually mimicking the style used in the SRFI 45 reference implementation of delay. If we change this here, we should also correspondingly change delay. The two continuations thing is probably worth trying. > I'd like to hear opinions on how to print promises. Here are mine: > > * I don't like # and #>. > > * Both forms should start with #, because from a user's > point of view that is the type. Fair enough. I was recalling your comment about how we should make SRFI 45 promises print slightly differently to core promises, so that was the most succinct way I could imagine. > * We should avoid printing "# location tag would be useful, but let's make it more compact. Right, and if we fix that here, we should do the same for core promises (which does indeed print "# * I suspect 'eager' and 'lazy' are likely to confuse most users, because > they don't coincide with their own uses of 'lazy' and 'eager' as found > in the public API. If we don't print "eager" or "lazy" in the display, do we still need a way to unambiguously identify between the two states? Right now, with core promises, you can never tell: if it shows a procedure, that could be the delayed thunk, or the result of calling such. Thanks for your feedback! I look forward to hearing about which approach we should take to your concerns outlined above, and implementing them. Cheers, Chris.