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: Record type printers for SRFI 45 promises and SRFI 41 streams Date: Mon, 08 Apr 2013 15:31:41 -0400 Message-ID: <87fvz0stsy.fsf@tines.lan> References: <20130407164935.GA22923@lotus.destinee.acro.gen.nz> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1365449545 17545 80.91.229.3 (8 Apr 2013 19:32:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 8 Apr 2013 19:32:25 +0000 (UTC) Cc: guile-devel@gnu.org To: Daniel Hartwig Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Apr 08 21:32:29 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 1UPHnn-0004Xl-N7 for guile-devel@m.gmane.org; Mon, 08 Apr 2013 21:32:27 +0200 Original-Received: from localhost ([::1]:37886 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPHnn-0002KW-Ai for guile-devel@m.gmane.org; Mon, 08 Apr 2013 15:32:27 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:44287) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPHnd-0002KJ-Ex for guile-devel@gnu.org; Mon, 08 Apr 2013 15:32:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPHnX-0002pD-Ua for guile-devel@gnu.org; Mon, 08 Apr 2013 15:32:17 -0400 Original-Received: from world.peace.net ([96.39.62.75]:36716) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPHnX-0002dP-MC for guile-devel@gnu.org; Mon, 08 Apr 2013 15:32:11 -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 1UPHnD-0003sH-SS; Mon, 08 Apr 2013 15:31:52 -0400 In-Reply-To: (Daniel Hartwig's message of "Mon, 8 Apr 2013 07:13:09 +0800") 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:16200 Archived-At: Hi Daniel, Daniel Hartwig writes: > I dont see much value in distinguishing between eager and lazy, > particularly as this leads to an unusual display format. What > difference does it make how the object was constructed? It doesn't, and I agree that it's confusing. In the SRFI-45 implementation, 'eager' means "computed", and 'lazy' means "not yet computed". These internal meanings are distinct from the 'lazy' and 'eager' exported to users. > Also, this is not avoiding "# "#" is succinct and sufficient. Sorry for flip-flopping on this, but I realized that there's an advantage to printing the full procedure, namely that it includes the source location of the associated (delay ...) expression. > To distinguish from core promises a more explicit tag is preferable, > like srfi-69 uses: > > # We later discussed this on IRC, but for those who weren't present: The problem with this idea is that there's likely to be another new SRFI that's almost identical to SRFI-45 but with 'eager' as a macro instead of a procedure, so that it can accept a single expression that yields multiple values. We'll want to use the same underlying type to support both SRFIs, at which point this idea of printing the SRFI number in the tag breaks down. Regards, Mark