From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Noah Lavine Newsgroups: gmane.lisp.guile.devel Subject: Re: summary: lilypond, lambda, and local-eval Date: Sun, 18 Dec 2011 10:32:15 -0500 Message-ID: References: <87r506uodd.fsf@pobox.com> <87pqfpj7e3.fsf@netris.org> <87aa6skika.fsf@netris.org> <878vmaicb6.fsf@netris.org> <87vcperufl.fsf@pobox.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: dough.gmane.org 1324222346 26992 80.91.229.12 (18 Dec 2011 15:32:26 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 18 Dec 2011 15:32:26 +0000 (UTC) Cc: Mark H Weaver , guile-devel To: Andy Wingo Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun Dec 18 16:32:21 2011 Return-path: Envelope-to: guile-devel@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 1RcIiq-0000Y5-N5 for guile-devel@m.gmane.org; Sun, 18 Dec 2011 16:32:20 +0100 Original-Received: from localhost ([::1]:51231 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RcIip-0002ZW-VR for guile-devel@m.gmane.org; Sun, 18 Dec 2011 10:32:19 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:36774) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RcIio-0002ZR-66 for guile-devel@gnu.org; Sun, 18 Dec 2011 10:32:19 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RcIin-00035b-90 for guile-devel@gnu.org; Sun, 18 Dec 2011 10:32:18 -0500 Original-Received: from mail-iy0-f169.google.com ([209.85.210.169]:45597) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RcIin-00035M-5v for guile-devel@gnu.org; Sun, 18 Dec 2011 10:32:17 -0500 Original-Received: by iacb35 with SMTP id b35so6347545iac.0 for ; Sun, 18 Dec 2011 07:32:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=Jr2kNskt27kuoV80wBfFNIPXPe5KuNZ4HJPl6j77F6U=; b=ObIYoA3/CckJPMVurDgULiX2d9cRV+lrJBJo5XMocNS6W8b5afep1aTA5WGky8/Bzo zDB5o0OmiTfHCXudP+zGIhpxwDth/1g39Au0wWcZCj964GtvOcuVi+/bPGJZimzerTAu 4y/cDvgiqgcVfZvD3o7ywW6temQbL95sR/gz4= Original-Received: by 10.50.159.161 with SMTP id xd1mr23011945igb.12.1324222335863; Sun, 18 Dec 2011 07:32:15 -0800 (PST) Original-Received: by 10.42.217.6 with HTTP; Sun, 18 Dec 2011 07:32:15 -0800 (PST) In-Reply-To: <87vcperufl.fsf@pobox.com> X-Google-Sender-Auth: m95t7PTEX5oGhj0NcTkY-aKp9N0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.210.169 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:13153 Archived-At: Hello, >> Indeed, only the macro expander has enough information to generate an >> optimal list of "reachable lexicals", i.e. lexical variables that are >> accessible using normal symbols (as opposed to syntax objects) [more >> on this below]. > > Are you certain that you want to restrict the set of identifiers? > > To me it sounds like an optimization, perhaps premature. If I understand correctly, Mark wants to restrict the set of variables you can access to those you could access through normal Scheme code. This is an issue because psyntax happens to provide a way to access more variables than standard Scheme. If this is the case, I think we should absolutely restrict it to standard Scheme, because letting you access everything psyntax can access a) is not Scheme and b) restricts our future implementation choices. > What do you think about having a tree-il form have a > field for the names and a field for the gensyms of captured lexicals? > >> This is great news, because it means that `the-environment' will no >> longer require its own tree-il type, and the compiler will only see the >> standard scheme code that it expands into. This actually seems bad to me, although I'm just guessing. Because the thing is, it's not *really* that Scheme code that you wrote, and so the compiler is seeing something wrong. It has the same variable-capture properties as that code, but it's not actually that. My instinct is that compiling non-accurate code is going to be more trouble than it's worth, but that's just a guess. In general, this thread has been very, very impressive. Thanks a lot to everyone who has been working so hard on this. Noah