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: Re: macros, procedure->macro Date: Wed, 10 Jul 2002 21:57:57 +0200 (CEST) Sender: guile-devel-admin@gnu.org Message-ID: References: <87hej7mlc3.fsf@zagadka.ping.de> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: main.gmane.org 1026331127 19975 127.0.0.1 (10 Jul 2002 19:58:47 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 10 Jul 2002 19:58:47 +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 17SNbr-0005C3-00 for ; Wed, 10 Jul 2002 21:58:47 +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 17SNcJ-00013W-00; Wed, 10 Jul 2002 15:59:15 -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 17SNb7-00012T-00; Wed, 10 Jul 2002 15:58:01 -0400 Original-Received: from localhost (dirk@localhost) by sallust.ida.ing.tu-bs.de (8.9.3+Sun/8.9.1) with ESMTP id VAA16657; Wed, 10 Jul 2002 21:57:57 +0200 (CEST) Original-To: Marius Vollmer In-Reply-To: <87hej7mlc3.fsf@zagadka.ping.de> 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:780 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:780 On 10 Jul 2002, Marius Vollmer wrote: > Dirk Herrmann writes: > > > True, but with current guile, how do you _access_ the local environment > > (when not making use of acros, macros and mmacros to obtain it)? > > I'm not sure, I understand the problem. Currently, the evaluator > carries around the environment in the "env" variable. It will > continue to do this, or? From there, it can be passed to "acro" and > "mmacro" transformers. Yes, but we want to separate macro expansion, memoization and execution, right? That is, we first have to get rid of acros and macros and even mmacros from within the execution phase. And, we want to not remove them, but deprecate them first. And, we still want to proceed with the separation of expansion, memoization and execution while still keeping acros and macros around as deprecated features. That means, we will have to provide a means to emulate the behaviour of acros etc. _without_ having them being treated specially by the executor. I thought it was for this that you suggested making use of 'local-eval'. Now, you are right that the evaluator carries around the env variable, and passes it to acros, macros and mmacros. But, after the handling of acros etc. has been removed from the execution phase, we must find a different mechanism for passing the env variable to the code emulating acros and macros. I am referring to your response cited below: On 7 Jul 2002, Marius Vollmer wrote: > Dirk Herrmann writes: > > > OK, lets assume we want to get rid of "acros" and "macros". When should > > that happen, and when should the corresponding functions be removed from > > guile? > > As soon as reasonable. :) > > > Removing these would change the interface. According to our > > standard procedure, this would mean going through a phase of > > deprecating the corresponding functions. However, this would mean, > > we could not actually proceed with working on the evaluator, since > > as long as those functions exist (even if deprecated) it is not > > possible to split up the evaluator. > > Is it really impossible? I'd say it can be done, as long as we have > 'local-eval'. Now, what I am basically saying is, that I don't understand how the solution that you seem to have in mind should look like. That is, I'd like to see a code example where you demonstrate how you would use local-eval to emulate acros and macros even after the evaluator is split up into memoization and execution. Or am I completely misunderstanding you? Best regards, Dirk Herrmann _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel