From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Dirk Herrmann Newsgroups: gmane.lisp.guile.devel Subject: macros, procedure->macro Date: Mon, 1 Jul 2002 21:56:23 +0200 (CEST) Sender: guile-devel-admin@gnu.org Message-ID: NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: main.gmane.org 1025553433 9171 127.0.0.1 (1 Jul 2002 19:57:13 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 1 Jul 2002 19:57:13 +0000 (UTC) Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17P7IO-0002Nn-00 for ; Mon, 01 Jul 2002 21:57:12 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17P7IK-0001UJ-00; Mon, 01 Jul 2002 15:57:08 -0400 Original-Received: from sallust.ida.ing.tu-bs.de ([134.169.132.52]) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17P7Hd-0001RU-00; Mon, 01 Jul 2002 15:56:25 -0400 Original-Received: from localhost (dirk@localhost) by sallust.ida.ing.tu-bs.de (8.9.3+Sun/8.9.1) with ESMTP id VAA15851; Mon, 1 Jul 2002 21:56:23 +0200 (CEST) Original-To: guile-devel@gnu.org, guile-user@gnu.org Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:723 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:723 Hi, Guile currently supports three types of builtin macros: "acros", "macros" and "mmacros". Of these, only "mmacros" work like real syntax transformers, i. e. only "mmacros" will lead to a changed code. Instead, "acros" and "macros" will not change the code, but instead may even treat their syntactic expression differently every time the same code is encountered. That is, if we plan to split up syntax transformation, compilation/memoization and execution, we could not remove "acros" and "macros" from the execution, since they may behave differently every time the same code is executed. I therefore strongly suggest to get rid of "acros" and "macros". As a first step, I suggest to get rid of "macros" and their scheme-level representative procedure->macro: As far as I see it, there is only one use of "macros" in guile, namely in boot-9-scm as a call to procedure->macro. And, to me it seems this could be replaced without problems by a call to procedure->memoizing-macro. I ask you for the following: 1) Some macro expert should check that replacing the call to procedure->macro in boot-9.scm by a call to procedure->memoizing-macro is safe. 2) Every guile user should determine, whether it would be OK if we got rid of "macros". 3) Decide officially, whether it is OK to remove "macros" from the head branch. If all results are positive, I will go ahead and remove the support for "macros" from guile. After that, I will take a close look at "acros" and we will play a similar game with "acros" again... Best regards, Dirk Herrmann _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel