From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: syntax-local-binding Date: Tue, 24 Jan 2012 22:22:37 +0100 Message-ID: <87ipk0lrs2.fsf@pobox.com> References: <874nvw99za.fsf@pobox.com> <87zkdo7uf5.fsf@pobox.com> <87sjjbvs12.fsf@pobox.com> <87sjjaunme.fsf@netris.org> <87r4yurruv.fsf@pobox.com> <87obtyuj4k.fsf@netris.org> <871uqqpfoo.fsf@pobox.com> <87hazmrv15.fsf@netris.org> <87zkdem58t.fsf@pobox.com> <87d3a9mjcy.fsf@pobox.com> <874nvls04f.fsf@netris.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1327440178 30752 80.91.229.12 (24 Jan 2012 21:22:58 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 24 Jan 2012 21:22:58 +0000 (UTC) Cc: Peter TB Brett , guile-devel@gnu.org To: Mark H Weaver Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Jan 24 22:22:51 2012 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 1RpnpL-00080E-MP for guile-devel@m.gmane.org; Tue, 24 Jan 2012 22:22:51 +0100 Original-Received: from localhost ([::1]:32979 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RpnpL-0003oq-4x for guile-devel@m.gmane.org; Tue, 24 Jan 2012 16:22:51 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:47600) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RpnpH-0003oY-Op for guile-devel@gnu.org; Tue, 24 Jan 2012 16:22:48 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RpnpD-00046i-6o for guile-devel@gnu.org; Tue, 24 Jan 2012 16:22:47 -0500 Original-Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:55164 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RpnpC-00046e-Tx for guile-devel@gnu.org; Tue, 24 Jan 2012 16:22:43 -0500 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 7F5F38797; Tue, 24 Jan 2012 16:22:42 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=XldmNijc601oI/wo7YUK3/sIR6I=; b=ScfBYU GYedAMbWC/l2uvGu7nF/hoyiYOVG9VHxLHI3ueuT7Xxq2gtdhllIlnBbS1cxQ/rp 9qbBZiockx4tMcU/9KS9rPMDg3IWrnhU/XHkZMgiy/RItdzAa3fN/6/Q1YlGfpgP ntAZVuvvTbW6XN+OltCpz1ksRMmJdeZYM9Ajo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=rPp5mWWW7BQP7y6OQueAOZnsYV0afNwK 0cMzIiYt0sU/RD2CdJehpXDJz9MGhk5hfGxnAuNkoHD/DQsEIJ/VMCNDrZpFbuu6 RApQnDP0YbdaFXY/cdpSxu1TuckILBQ9IsosKm5Y3FWpccrqwXVRSc1alPnclvLj G7k6ggf7hCo= Original-Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 78C058796; Tue, 24 Jan 2012 16:22:42 -0500 (EST) Original-Received: from badger (unknown [90.164.198.39]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id AFA448795; Tue, 24 Jan 2012 16:22:41 -0500 (EST) In-Reply-To: <874nvls04f.fsf@netris.org> (Mark H. Weaver's message of "Tue, 24 Jan 2012 08:25:52 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) X-Pobox-Relay-ID: 8C97A55E-46D1-11E1-892D-65B1DE995924-02397024!a-pb-sasl-sd.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 74.115.168.62 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:13663 Archived-At: Hello Mark :) Thanks again for your deep thoughts. This conversation is a bit stressful for the both of us, but we wouldn't be having it if we didn't both care about Guile. In the spirit of diffusing tension here, feel free to imagine all of my words as coming from Mr. Collins for the duration of this thread ;-) On Tue 24 Jan 2012 14:25, Mark H Weaver writes: > Andy Wingo writes: > >> None of the interfaces that I proposed leak internal psyntax >> representations. > > `syntax-local-binding' leaks the internal representations used for > bindings. You mean, whether something is a lexical, or a macro, or a global, or whatever; OK. I think that "leak" is the wrong word here: leaks are inadvertent, whereas providing this information is what this function was designed to do; and furthermore it's not a detail of psyntax (cf Racket which does not use psyntax). Let me offer another example of its utility: writing a macro stepper. Again, for an example I'll have to link to the PLT folks' great work: http://docs.racket-lang.org/macro-debugger/index.html With syntax-local-binding, syntax-locally-bound-identifiers, and a couple hooks that get fired when a macro is expanded and reconstructed, you could implement a macro stepper for Guile. And, once we provide those hooks, you can implement this in a module. Pretty sweet, if you ask me! Perhaps, though, at this point we're just going to have to agree to disagree; surely we have plumbed the depths sufficiently. It's not satisfying, but I think we both made a great effort to communicate and convince -- and in some cases, to work on each other's code. We really need to move on here. I will re-post my patches taking into account your comments regarding the form of the environments. Regards, Andy -- http://wingolog.org/