From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: No Itisnt Newsgroups: gmane.lisp.guile.devel Subject: Re: Lua Date: Thu, 3 Jun 2010 15:36:10 -0500 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=00c09f89946228ef7e048826283c X-Trace: dough.gmane.org 1275597384 7114 80.91.229.12 (3 Jun 2010 20:36:24 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 3 Jun 2010 20:36:24 +0000 (UTC) Cc: guile-devel To: Andy Wingo Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Jun 03 22:36:22 2010 connect(): No such file or directory Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OKH9K-0002Eh-LZ for guile-devel@m.gmane.org; Thu, 03 Jun 2010 22:36:22 +0200 Original-Received: from localhost ([127.0.0.1]:59018 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OKH9K-00085L-4f for guile-devel@m.gmane.org; Thu, 03 Jun 2010 16:36:22 -0400 Original-Received: from [140.186.70.92] (port=53647 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OKH9F-000854-93 for guile-devel@gnu.org; Thu, 03 Jun 2010 16:36:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OKH9A-0007yH-C0 for guile-devel@gnu.org; Thu, 03 Jun 2010 16:36:17 -0400 Original-Received: from mail-gy0-f169.google.com ([209.85.160.169]:43887) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OKH9A-0007yB-6b for guile-devel@gnu.org; Thu, 03 Jun 2010 16:36:12 -0400 Original-Received: by gyg4 with SMTP id 4so539496gyg.0 for ; Thu, 03 Jun 2010 13:36:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=6eE5XsX+j2x2ltA8oboxcwr2M41JPvjv94gYawEi8Hs=; b=TgcuQVWo4F9KJ5ia5XgWpeHifT8uPorg61raA/jTzwc+39V6LNC3HjyRaQPoL95jW5 nyhsDz3GhfWPf/NGdjLia84jeqoG+f1fVujV0cE/3vnYJQeVxt2NiCQliHswoqZJ6Gm6 PUbiOjRsZo9URcSj239HxgdfBvkdcApVvUJPs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=d4JokKBSaF9auAxz8588d9/3IqM7ZSz2Hsv39ENJGw/plunsyD4/0Om6e9lO4qgA8d aoB13NkUTsk/203RZYFSn7ARUm3+HcGaMg0GLmcEJYpHWpIl7Tdzbpjkw4H5ODQBI1vk tjPzpO1KpjDMA3PXLcfwIcyKEs3HWP4aJJPEQ= Original-Received: by 10.224.87.137 with SMTP id w9mr4945650qal.98.1275597370748; Thu, 03 Jun 2010 13:36:10 -0700 (PDT) Original-Received: by 10.229.232.199 with HTTP; Thu, 3 Jun 2010 13:36:10 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:10430 Archived-At: --00c09f89946228ef7e048826283c Content-Type: text/plain; charset=ISO-8859-1 > Not a known bug, no. Can you make a test case? Yes, attached. It appears to happen when (rnrs control) is used. This is with the latest master commit. > No, it will not. The primitive-ref return thing is a hack; the proper > way to do this (I think?) is to use prompts and aborts, and also enhance > Guile's compiler to do source-to-source translation of Tree-IL in which > an intraprocedural abort to a prompt with a fresh tag that cannot escape > the prompt expression does some kind of CPS on the expression to leave > the return expression in tail context. > > Otherwise we could add `return' to Tree-IL, but that is nasty I think; > or another hack (nasty, but perhaps expedient). Better to CPS, in the > long run anyway. It's not urgent, but Lua does mandate tail call optimization. On a related note, what would be the best way to benchmark a compiler optimization? I see "benchmark-guile"; is there a way to easily run it with an optimization enabled and disabled? And maybe get some fancy charts and graphs, too? --00c09f89946228ef7e048826283c Content-Type: application/octet-stream; name="test.scm" Content-Disposition: attachment; filename="test.scm" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ga01q0of1 KGRlZmluZS1tb2R1bGUgKG1vZHVsZSkKICAjOnVzZS1tb2R1bGUgKChybnJzIGNvbnRyb2wpICM6 dmVyc2lvbiAoNikpCiAgIzp1c2UtbW9kdWxlIChsYW5ndWFnZSB0cmVlLWlsKSkKCihtYWtlLWNv bnN0ICNmIDIpCgooZGlzcGxheSAnZG9uZSkKKG5ld2xpbmUpCg== --00c09f89946228ef7e048826283c--