From: Dirk Herrmann <dirk@sallust.ida.ing.tu-bs.de>
Cc: guile-devel@gnu.org, guile-user@gnu.org
Subject: Re: macros, procedure->macro
Date: Wed, 10 Jul 2002 21:57:57 +0200 (CEST) [thread overview]
Message-ID: <Pine.GSO.4.05.10207102138580.16653-100000@sallust.ida.ing.tu-bs.de> (raw)
In-Reply-To: <87hej7mlc3.fsf@zagadka.ping.de>
On 10 Jul 2002, Marius Vollmer wrote:
> Dirk Herrmann <dirk@sallust.ida.ing.tu-bs.de> 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 <dirk@sallust.ida.ing.tu-bs.de> 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
next prev parent reply other threads:[~2002-07-10 19:57 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-01 19:56 macros, procedure->macro Dirk Herrmann
2002-07-01 21:30 ` Rob Browning
2002-07-03 20:24 ` Dirk Herrmann
2002-07-01 22:14 ` Marius Vollmer
2002-07-03 20:11 ` Dirk Herrmann
2002-07-07 17:54 ` Marius Vollmer
2002-07-08 20:31 ` Dirk Herrmann
2002-07-09 18:22 ` Marius Vollmer
2002-07-10 5:21 ` Dirk Herrmann
2002-07-10 19:31 ` Marius Vollmer
2002-07-10 19:57 ` Dirk Herrmann [this message]
2002-07-10 20:08 ` Marius Vollmer
2002-07-01 22:17 ` Gary Houston
2002-07-09 21:16 ` Neil Jerram
2002-07-10 5:46 ` Dirk Herrmann
2002-07-10 10:15 ` Neil Jerram
2002-07-10 20:03 ` Dirk Herrmann
2002-07-13 0:09 ` Neil Jerram
2002-07-13 2:36 ` Clinton Ebadi
2002-07-14 15:23 ` Neil Jerram
2002-07-14 16:26 ` Marius Vollmer
2002-07-15 6:03 ` Rob Browning
2002-07-13 6:53 ` Dirk Herrmann
2002-07-14 15:23 ` Neil Jerram
[not found] <200207012220.PAA08054@onyx.he.net>
2002-07-03 20:08 ` Dirk Herrmann
2002-07-04 20:16 ` Dirk Herrmann
2002-07-07 18:15 ` Marius Vollmer
[not found] <87n0t376c9.fsf@zagadka.ping.de>
2002-07-08 20:23 ` Dirk Herrmann
2002-07-09 18:13 ` Marius Vollmer
2002-07-10 21:54 ` Dirk Herrmann
2002-07-13 9:53 ` Dirk Herrmann
2002-07-13 18:38 ` Marius Vollmer
[not found] <m3lm8e5o69.fsf@laruns.ossau.uklinux.net>
2002-07-14 21:35 ` Dirk Herrmann
2002-07-15 20:48 ` Marius Vollmer
2002-07-15 22:42 ` Neil Jerram
2002-07-16 22:00 ` Dirk Herrmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.GSO.4.05.10207102138580.16653-100000@sallust.ida.ing.tu-bs.de \
--to=dirk@sallust.ida.ing.tu-bs.de \
--cc=guile-devel@gnu.org \
--cc=guile-user@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).