Kaz Kylheku <email@example.com> wrote:
| For example, if someone tells you that you can write clean, seamless
| code-transforming macros that can compute things rather than merely
| substitute arguments into replacement text, this is might not register
| as significant, unless you have already spent much time carving macros
| with a blunt instrument like the C preprocessing language, and experienced
| first hand how hard it was to create clean extensions to the language.
Or unless you're old enough to have used *assemblers* that had "real"
macros systems, too, such as MACRO-10 (the assembler for the PDP-10).
I've written here previously several times (at too-great length) about
the wonderful things you could do with it [e.g., define recursive
block-structure macros, do significant compile-time computation,
write macros that define macros, etc.], so I won't repeat that again.
But having had that experience, when C came along its "macros" instantly
were seen as terribly anemic! It wasn't until I found my way to Lisp many
years later (by way of Scheme) that I found an environment that equalled
(indeed, surpassed) the old MACRO-10 macros in expressiveness.
Rob Warnock, 30-3-510 <firstname.lastname@example.org>
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: email@example.com and firstname.lastname@example.org aren't for humans ]