From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Rob Browning Newsgroups: gmane.lisp.guile.devel Subject: Re: Internal defines Date: Mon, 10 Nov 2003 20:21:01 -0600 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <87ekwf63xu.fsf@raven.i.defaultvalue.org> References: <3FAEC259.302@dirk-herrmanns-seiten.de> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1068517335 32258 80.91.224.253 (11 Nov 2003 02:22:15 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 11 Nov 2003 02:22:15 +0000 (UTC) Cc: Marius Vollmer , Guile-Devel Mailing List Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Nov 11 03:22:12 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AJOAW-0005GX-00 for ; Tue, 11 Nov 2003 03:22:12 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AJP7V-0007vo-0i for guile-devel@m.gmane.org; Mon, 10 Nov 2003 22:23:09 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AJP7N-0007vS-OL for guile-devel@gnu.org; Mon, 10 Nov 2003 22:23:01 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AJP6q-0007n2-Ep for guile-devel@gnu.org; Mon, 10 Nov 2003 22:23:00 -0500 Original-Received: from [66.93.216.237] (helo=defaultvalue.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AJP6p-0007mf-Av for guile-devel@gnu.org; Mon, 10 Nov 2003 22:22:27 -0500 Original-Received: from raven.i.defaultvalue.org (raven.i.defaultvalue.org [192.168.1.7]) by defaultvalue.org (Postfix) with ESMTP id E5C8A3FF8; Mon, 10 Nov 2003 20:21:01 -0600 (CST) Original-Received: by raven.i.defaultvalue.org (Postfix, from userid 1000) id 49B6E1D3013; Mon, 10 Nov 2003 20:21:01 -0600 (CST) Original-To: Dirk Herrmann In-Reply-To: <3FAEC259.302@dirk-herrmanns-seiten.de> (Dirk Herrmann's message of "Sun, 09 Nov 2003 23:40:26 +0100") User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.2 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 Xref: main.gmane.org gmane.lisp.guile.devel:2988 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:2988 Dirk Herrmann writes: > In other words, the examle code above should return #t, because the > expression (a (c x) (c x)) refers to the internal define rather than > to the outer macro. Guile, however, has up to now performed macro > expansion before checking whether the form is a definition. Thus, > the example above returns an error, since Guile interprets (a (c x) > (c x)) as a macro application, in this case a definition. The body > then (according to Guile's interpretation) consists only of > definitions. Hmm, so just to clarify, you're arguing against a rigid "read, expand, eval" process, and in favor of considering the context of expansions before deciding whether or not to expand? If so, could you elaborate a bit more on the justification for either choice? Note that I'm not at all predisposed against your position[1]; I'd just like to make sure I understand the rationale(s). Thanks [1] though I'm not sure I would have been completely surprised by a macro taking effect before anything else. -- Rob Browning rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel