From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.bugs Subject: [bug #30070] multiple returns from map Date: Fri, 12 Aug 2011 21:03:21 +0000 Message-ID: <20110812-210321.sv20118.97813@savannah.gnu.org> References: <20100607-182303.sv74648.31837@savannah.gnu.org> <20110715-104507.sv78157.85748@savannah.gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain;charset=UTF-8 X-Trace: dough.gmane.org 1313182915 26448 80.91.229.12 (12 Aug 2011 21:01:55 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 12 Aug 2011 21:01:55 +0000 (UTC) To: Andy Wingo , Szavai Gyula , Stefan Israelsson Tampe , bug-guile@gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Fri Aug 12 23:01:48 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 1QryrU-0006bV-5s for guile-bugs@m.gmane.org; Fri, 12 Aug 2011 23:01:48 +0200 Original-Received: from localhost ([::1]:38719 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QryrS-0005Ef-UZ for guile-bugs@m.gmane.org; Fri, 12 Aug 2011 17:01:46 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:38894) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QryrQ-0005EP-I4 for bug-guile@gnu.org; Fri, 12 Aug 2011 17:01:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QryrP-0002LM-Io for bug-guile@gnu.org; Fri, 12 Aug 2011 17:01:44 -0400 Original-Received: from savannah.gnu.org ([140.186.70.70]:41070 helo=frontend.savannah.gnu.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QryrP-0002L2-HM for bug-guile@gnu.org; Fri, 12 Aug 2011 17:01:43 -0400 Original-Received: from www-data by frontend.savannah.gnu.org with local (Exim 4.72) (envelope-from ) id 1Qrysz-0004rL-Ba; Fri, 12 Aug 2011 21:03:21 +0000 X-PHP-Originating-Script: 0:sendmail.php X-Savane-Server: savannah.gnu.org:443 [140.186.70.70] X-Savane-Project: guile X-Savane-Tracker: bugs X-Savane-Item-ID: 30070 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.26+ (KHTML, like Gecko) Version/5.0 Safari/534.26+ Debian/sid/experimental (3.0.4-1) Epiphany/3.0.4 X-Apparently-From: 90.164.198.39 (Savane authenticated user wingo) In-Reply-To: <20110715-104507.sv78157.85748@savannah.gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.70 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:5768 Archived-At: Follow-up Comment #2, bug #30070 (project guile): Stefan, the tail pointer does preserve performance, but it does not preserve the R6RS invariant about multiple returns. Szavai is right. Perhaps we should provide some other definition of `map' within R6RS to satisfy this requirement. However, a proper solution looks more like recursion than iteration, and to do that with arbitrary-sized lists will require Guile to implement extendable stacks, which is a significant hack. _______________________________________________________ Reply to this item at: _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/