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: Fri, 20 Jan 2012 22:23:04 +0100 Message-ID: <87r4yurruv.fsf@pobox.com> References: <874nvw99za.fsf@pobox.com> <87zkdo7uf5.fsf@pobox.com> <87sjjbvs12.fsf@pobox.com> <87sjjaunme.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 1327094601 27755 80.91.229.12 (20 Jan 2012 21:23:21 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 20 Jan 2012 21:23:21 +0000 (UTC) Cc: guile-devel To: Mark H Weaver Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Jan 20 22:23:17 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 1RoLvX-0006vM-Bz for guile-devel@m.gmane.org; Fri, 20 Jan 2012 22:23:15 +0100 Original-Received: from localhost ([::1]:52672 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RoLvW-0004lT-RR for guile-devel@m.gmane.org; Fri, 20 Jan 2012 16:23:14 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:58304) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RoLvU-0004lL-Mx for guile-devel@gnu.org; Fri, 20 Jan 2012 16:23:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RoLvS-0006xL-Ki for guile-devel@gnu.org; Fri, 20 Jan 2012 16:23:12 -0500 Original-Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:61804 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RoLvS-0006x4-At for guile-devel@gnu.org; Fri, 20 Jan 2012 16:23:10 -0500 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id ADC8B889A; Fri, 20 Jan 2012 16:23:08 -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=xL3KPKeTj7qCFH7Jdh66uYjpSOw=; b=FnxJV0 T4aW2efWRAWAJw2Qqp5hByd21ohwdV9kgqe4oNL0DveJ3htmumvwPhYQfeZLdSJ3 AFJXGxcPzeiCdBEoroGQXG3nn29NDLDvbXLjrgAhV+8OFvqMEXrQRsARJx+G0a72 GtVIidbzP0Dh3UECtkEr0xR+L5iWeihGBc3x4= 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=dZPDiduD6dZ+qt/SgVgOjK+ZvjMajAAw gsCXLB1uHy5wdBeRcW2NY0/reNsbxBGzDg+io1wGIP3+oqJbmaY5/mn63kR+oMsn VQ4GxZQxLbsDSFuutYFoAWu8zV/k/uBpvoDivjT8MUFE9u0GFlpsSKO1I0E4wjVx bn4TSt5pOuw= 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 A45378899; Fri, 20 Jan 2012 16:23:08 -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 F39948895; Fri, 20 Jan 2012 16:23:07 -0500 (EST) In-Reply-To: <87sjjaunme.fsf@netris.org> (Mark H. Weaver's message of "Fri, 20 Jan 2012 15:26:17 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) X-Pobox-Relay-ID: F29A5ACC-43AC-11E1-87EF-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:13608 Archived-At: On Fri 20 Jan 2012 21:26, Mark H Weaver writes: > Andy Wingo writes: >> `lexical' >> A lexically-bound variable. The value is a unique token (in >> the sense of `eq?') identifying this binding. >> >> `macro' >> A syntax transformer, either local or global. The value is >> the transformer procedure. > > Ironically, `syntax-local-binding' renders the current simple > implementation strategy of `the-environment' inadequate, because > identifier-syntax is no longer sufficient to simulate a lexical. Why do you say that? > In particular, I was hoping to change the binding representation of > `syntax-rules' macros so that they are serializable. In particular, > they would be represented by the `syntax-rules' form itself (the same > one that psyntax currently passes to `primitive-eval' to produce the > transformer procedure). A weak-key hash table would cache the compiled > transformer procedures. > > This would allow (the-environment) to capture locally-bound > `syntax-rules' macros. Unfortunately, `syntax-local-binding', as > currently documented, now makes this impossible. Why do you think that? The procedures do carry metadata; I understood that that was your strategy, to use the serialization of the syntax-rules form in the procedure metadata. Andy -- http://wingolog.org/