I of course agree that simplistic macros have no value.  But it is not
necessary to write simplistic macros.

We are all creatures of our experience, and Steve Hobson's views must
reflect his.

Mine has been very different.  In my view one of the great strengths of
macros is just that they make available  what I hope I will be forgiven
for calling a testicular grasp on change.  If, say, the macro
definition GUBBINS is used in N places, changing GUBBINS effectively
changes what is done in these N places.  Finding and changing idioms
that were written out in extenso is much harder.  Another, related
merit of macros is that they regularize code.  Deprived of macros, as
I recently was in a very primitive environment, I found it diffricult
to avoid ringing changes on
standard figures.  Macros do not suffer ennui or boredom; and this in
many contexts is a merit.

One of the striking things about Steve Hobson's posts is that they
reflect what I shall call a handicraft orientation, one under which
the sophistication of the products produced is very much greater than
that of the technology used to produce them.  I am reminded of some of
the camel-bone inlaid wooden boxes produced in Middle Eastern bazaars,
things of great beauty made using only a few simple hand tools..

My approach is again different.  One of the features of the macros I
write is that they all contain a sequence of comment lines in a
standard, easily parsed format that specify the names of the other
macros that they use directly, in many cases several dozens of these
names.

These macro names are also used to construct a square boolean
reference matrix R in which element r(i,j) is boolean 1 if macro i
invokes macro j or boolean 0 if not. (The  diagonal of this matrix may
contain boolean ones.  Many macros usefully invoke themselves
recursively.)

Raising this matrix to the appropriate boolean power then yields a
dependency matrix D in which element d(i,j) is 1 if macro i is in any
way dependent upon macro j or boolean 0 if not.

Let me also offer one more general comment.  That some technique lends
itself to misuse by clots is not in my view a good argument for
suppressing that technique.  I suspect, indeed, that any powerful and
useful technique ineluctably lends itself to abuse by clots.  The
"Don't do anything complex or difficult because some clot who comes
after you may not understand it" argument seems to me to be not just
without merit but vicious.

John Gilmore, Ashland, MA 01721 - USA

Reply via email to