Kent M Pitman <pitman@world.std.com> wrote:
+---------------
| Duane Rettig <duane@franz.com> writes:
| > For example, the fact that the CL community does not care to
| > continue developing their macro system and the scheme community
| > does, suggests to me that the scheme community is dissatisfied with
| > their macro system, whereas the CL community is satisfied with theirs.
|
| I think this is a good point.
|
| I think the Scheme community is puzzled by the fact that CL doesn't
| have a hygienic macro system and yet doesn't run into all kinds of
| problems as a result.
+---------------
Confession: I happen to program in both CL & Scheme and, as it happens,
when I write macros in Scheme I always use "defmacro", since it does the
(to me) obvious & correct thing. [Hygiene? See "gensym".]
+---------------
| There's pretty extensive experience with myriad users and multiple
| implementors over a really long time (in "contemporary programming
| language use" terms) to suggest that the reason no one is "evolving"
| the CL macro system is that it works just fine.
+---------------
That's why I've never bothered to learn R5RS macros, even though they're
"standard" and defmacro isn't. The latter is all I need; I understand what
it does; and all of the implementations of Scheme I use (and of course,
all of the CLs) have it (or something equivalent from which it can be
trivially defined).
-Rob
p.s. It may help that I use to code some *incredibly* complex things
in MACRO-10 (the PDP-10 assembly language) macros way back when... ;-}
It didn't have "gensym" per se -- you had to manually construct your
own unique macro temp symbols by concatenating assembly-time counters
and local prefixes & suffixes & the like. But now that I think about it,
one could have easily written "gensym" *in* MACRO-10 macros! (I just never
would have called it that, since I hadn't been exposed to Lisp yet.)
-----
Rob Warnock, 31-2-510 <rpw3@sgi.com>
SGI Network Engineering <http://reality.sgi.com/rpw3/> [until 8/15]
1600 Amphitheatre Pkwy. Phone: 650-933-1673
Mountain View, CA 94043 PP-ASEL-IA
[Note: aaanalyst@sgi.com and zedwatch@sgi.com aren't for humans ]