From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Wolfgang J Moeller Newsgroups: gmane.lisp.guile.bugs,gmane.lisp.guile.devel Subject: Re: [shift and reset, plus] "while" Date: Wed, 13 Apr 2011 19:31:32 +0200 (CEST) Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: dough.gmane.org 1302716271 4598 80.91.229.12 (13 Apr 2011 17:37:51 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 13 Apr 2011 17:37:51 +0000 (UTC) Cc: bug-guile@gnu.org, guile-devel To: Andy Wingo Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Wed Apr 13 19:37:47 2011 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QA40g-0004DD-N6 for guile-bugs@m.gmane.org; Wed, 13 Apr 2011 19:37:46 +0200 Original-Received: from localhost ([::1]:57536 helo=lists2.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QA40g-0001gO-5x for guile-bugs@m.gmane.org; Wed, 13 Apr 2011 13:37:46 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:43319) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QA40e-0001gF-Bl for bug-guile@gnu.org; Wed, 13 Apr 2011 13:37:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QA40d-0003TO-7r for bug-guile@gnu.org; Wed, 13 Apr 2011 13:37:44 -0400 Original-Received: from mail-boxes.gwdg.de ([134.76.10.22]:33433) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QA40d-0003Pt-2k; Wed, 13 Apr 2011 13:37:43 -0400 Original-Received: from gwdw03.gwdg.de ([134.76.5.10]) by mailer.gwdg.de with esmtps (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1QA3vO-0007O7-7U; Wed, 13 Apr 2011 19:32:18 +0200 In-Reply-To: X-Virus-Scanned: (clean) by exiscan+sophie X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-Received-From: 134.76.10.22 X-BeenThere: bug-guile@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:5479 gmane.lisp.guile.devel:12249 Archived-At: On Wed, 13 Apr 2011, Andy Wingo wrote: >[...] > >From Guile 1.6: >[...] > It did indeed happen to return #t on a normal termination, and have > (break ARG). It has lots of other bugs though. I would prefer (break) > to return zero values, and (while #f 1) as well, but that is > incompatible with 2.0. Bummer. OK, that explains why I have an old & lengthy program that does use (break arg), and why I had to keep my macro compatible. Last resort: Once we do allow for argument(s) to (break), (while #t ... (break x) ... (break y) ...) allows for full functionality, plus returning all well-defined results, without necessarily requiring well-defined (or even different) results from (break) and (while #f). Only that this construct might better be called "loop/return" ... Given the situation at V2.0.0, with the only results being # and #t (plus compiler error!), and [at least] V1.8.5 returning nothing but #, I find it hard to believe that (break) ==> #t had found an application yet. Or maybe someone can come up with a pretty formulation of a newly invented "do-until/break/continue" combo ... > > Not exactly tricky - see my code's prompt handler. > > I didn't mean in terms of code; I meant in terms of documentation, > interface, expectations, etc... Indeed. I'd like to say thanks to the authors of the new/improved GUILE manual. Real good. E.g. finally, a description of "syntax-case" that I'd understand (as opposed to R6RS ;-)! Best regards, Wolfgang J. Moeller, Tel. +49 551 47361, wjmheenes.com 37085 Goettingen, Germany | Disclaimer: No claim intended! http://www.wjmoeller.de/ -+-------- http://www.heenes.com/