From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Dirk Herrmann Newsgroups: gmane.lisp.guile.user Subject: Re: macros, procedure->macro Date: Sat, 13 Jul 2002 08:53:40 +0200 (CEST) Sender: guile-user-admin@gnu.org Message-ID: References: NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: main.gmane.org 1026543345 27279 127.0.0.1 (13 Jul 2002 06:55:45 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 13 Jul 2002 06:55:45 +0000 (UTC) Cc: guile-devel@gnu.org, guile-user@gnu.org Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17TGoj-00075s-00 for ; Sat, 13 Jul 2002 08:55:45 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17TGnD-0004tk-00; Sat, 13 Jul 2002 02:54:11 -0400 Original-Received: from sallust.ida.ing.tu-bs.de ([134.169.132.52]) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17TGmk-0004rb-00; Sat, 13 Jul 2002 02:53:43 -0400 Original-Received: from localhost (dirk@localhost) by sallust.ida.ing.tu-bs.de (8.9.3+Sun/8.9.1) with ESMTP id IAA21204; Sat, 13 Jul 2002 08:53:40 +0200 (CEST) Original-To: Neil Jerram In-Reply-To: Errors-To: guile-user-admin@gnu.org X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.user:740 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:740 On 13 Jul 2002, Neil Jerram wrote: > Thanks, that's helpful. So we won't support references to a macro > that is defined in a following top-level form, as in: > > (define-macro (foo x) `(list ,(bar x) ,x)) > (define-macro (bar x) `(* ,x ,x)) > > or is there a cunning plan that still allows us to support this? I don't see why recursive macros shouldn't be possible. This, however, depends on the implementation of the macro system used. Clinton has demonstrated that it does work with r5rs macros. This will continue to work, since even today the r5rs macros in guile are expanded prior to execution. However, there are things that won't work any more: (define (foo) (bar)) (define-macro (bar) #f) (foo) With today's guile, the expansion of foo is done at the first evalution in contrast to the definition of foo. Best regards, Dirk _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user