From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Marius Vollmer Newsgroups: gmane.lisp.guile.devel Subject: Re: while break and continue Date: 02 Jun 2003 01:58:35 +0200 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <87he79ic44.fsf@zagadka.ping.de> References: <87isrtmhfw.fsf@zip.com.au> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1054512105 29596 80.91.224.249 (2 Jun 2003 00:01:45 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 2 Jun 2003 00:01:45 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Jun 02 02:01:44 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19Mclk-0007h1-00 for ; Mon, 02 Jun 2003 02:01:44 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19Mcmh-0006tI-MW for guile-devel@m.gmane.org; Sun, 01 Jun 2003 20:02:43 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19McmM-0006n1-G8 for guile-devel@gnu.org; Sun, 01 Jun 2003 20:02:22 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19Mclp-0006Fj-4G for guile-devel@gnu.org; Sun, 01 Jun 2003 20:01:49 -0400 Original-Received: from mail.dokom.net ([195.253.8.218]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19Mcji-0005hu-7P for guile-devel@gnu.org; Sun, 01 Jun 2003 19:59:38 -0400 Original-Received: from dialin.speedway43.dip132.dokom.de ([195.138.43.132] helo=zagadka.ping.de) by mail.dokom.net with smtp (Exim 3.36 #3) id 19MclZ-0003kv-00 for guile-devel@gnu.org; Mon, 02 Jun 2003 02:01:33 +0200 Original-Received: (qmail 2406 invoked by uid 1000); 1 Jun 2003 23:58:35 -0000 Original-To: guile-devel@gnu.org In-Reply-To: <87isrtmhfw.fsf@zip.com.au> Original-Lines: 20 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Developers list for Guile, the GNU extensibility library List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:2477 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:2477 Kevin Ryde writes: > I was going to add some words to the manual about break and continue > in a while loop, but noticed continue doesn't do what I might have > thought. Oops. Yes, that is unexpected. I think your solution is essentially correct, except that you shouldn't use procedure->memoizing-macro (use define-macro instead) and that you inject literal procedures into the expanded code. This is not good style since the procedures are created in the compile time environment but used in the run-time environment. A compiler might not like this. This old post might be interesting as well, but the 'tagbody' implementation in it is not properly tail recursive: http://sources.redhat.com/ml/guile/2000-07/msg00339.html -- GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3 331E FAF8 226A D5D4 E405 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel