unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
[parent not found: <87n0t376c9.fsf@zagadka.ping.de>]
[parent not found: <200207012220.PAA08054@onyx.he.net>]
* macros, procedure->macro
@ 2002-07-01 19:56 Dirk Herrmann
  2002-07-01 21:30 ` Rob Browning
                   ` (3 more replies)
  0 siblings, 4 replies; 36+ messages in thread
From: Dirk Herrmann @ 2002-07-01 19:56 UTC (permalink / raw)


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


^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2002-07-16 22:00 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <m3lm8e5o69.fsf@laruns.ossau.uklinux.net>
2002-07-14 21:35 ` macros, procedure->macro Dirk Herrmann
2002-07-15 20:48   ` Marius Vollmer
2002-07-15 22:42   ` Neil Jerram
2002-07-16 22:00     ` Dirk Herrmann
     [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] <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
2002-07-01 19:56 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
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

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).