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: Wed, 3 Jul 2002 22:24:19 +0200 (CEST) Sender: guile-user-admin@gnu.org Message-ID: References: <87k7ofb0h2.fsf@raven.i.defaultvalue.org> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: main.gmane.org 1025728028 19140 127.0.0.1 (3 Jul 2002 20:27:08 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 3 Jul 2002 20:27:08 +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 17PqiR-0004yb-00 for ; Wed, 03 Jul 2002 22:27:07 +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 17PqiO-0002SZ-00; Wed, 03 Jul 2002 16:27:04 -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 17Pqfn-0002Fy-00; Wed, 03 Jul 2002 16:24:23 -0400 Original-Received: from localhost (dirk@localhost) by sallust.ida.ing.tu-bs.de (8.9.3+Sun/8.9.1) with ESMTP id WAA27847; Wed, 3 Jul 2002 22:24:19 +0200 (CEST) Original-To: Rob Browning In-Reply-To: <87k7ofb0h2.fsf@raven.i.defaultvalue.org> 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:702 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:702 On Mon, 1 Jul 2002, Rob Browning wrote: > Dirk Herrmann writes: > > > 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... > > It may also be important to consider pssyntax (i.e. syntax-case, > etc.). In the end I'd like to have one unified macro system whose > behavior and interactions with the rest of guile are very clear. True, but currently I am looking at the backend of evaluation, while syntax-case is at the very front. In the long term, I would like to see the evaluation split into the following phases: 1) read 2) syntax-transformation 3) scheme-to-scheme-optimization 4) memoization 5) execution Reading is obvious. Syntax transformation is the "one unified macro system" that you mention. The result should be scheme code, which may only hold a limited set of built-in syntactic forms. The reason I'd like to see a scheme to scheme optimization phase after this is, that these optimizations would be target independent, and a lot of code from other scheme implementations could be used here. The memoization will be dependent on the target code format (it could even compile to machine code), and so will execution. Best regards Dirk _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user