eric-and-jane-smith <email@example.com> wrote:
| firstname.lastname@example.org (Pascal J. Bourguignon) wrote:
| > Lisp macros are just a much simplier and much more powerful to archive
| > the same results much faster.
| It's hard to make the power of CL macros clear to non-Lispers. They think
| in terms of the macros of other programming languages, and have no idea
| what CL macros are. From their point of view, we seem to be telling them
| we want to use macros as a klugey substitute for C++ templates, or for the
| Java type system, or whatever.
Oddly enough, it is *much* easier to explain Lisp macros to those
who have experience with assembly language macros in such "antiques"
as the DEC PDP-10 or IBM 360/370 mainframes which supported looping,
deconstruction/construction of symbol names (down to individual
characters), definition of new macros *by* macros, access to the
assembler's symbol table at compile time (accessing & mutating the
values of symbols and tags), "pass1" vs. "pass2" conditionals
(collect data from the whole program in pass 1 and drop it into
instruction and/or data locations in pass 2), etc., etc.
But for those whose first or only experience of "macros" came from
the crippled incarnation of them in C, well, you are quite correct,
 I have spoken at length here several times previously on the
wonders of PDP-10 assembler macros, so won't bore you again. For
the curious, search for "rpw3", "FOCAL" & "PDP-10".
Rob Warnock <email@example.com>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607