# [texhax] (no subject)

Pierre MacKay mackay at cs.washington.edu
Mon Jun 9 16:30:38 CEST 2003

I just answered Herbert Gintis privately on approximately this subject.
My recollection is that the pressure for developing the rather extraordinary
macro processor which distinguishes TeX from most, if not all, other formatting
languages came from some of the AMS and Stanford users, not least Barbara.

You have to read the woven program, and plain.tex to get an adequate sense
of how little is hardwired into TeX.  Don very deliberately kept the
primitives to a minimum, and I have had hundreds of occasions to be
thankful for this.  That said, I have also lost handfuls of hair trying
to control the order of evaluation.  There may be places where a genuine
ERROR still lurks.  Why, for instance, can I \def\C{&<contents of cell>}
in a simple definition, for plugging into a tabbed list, but not stack
up similar definitions in an
\ifcase structure.  (I'll bet _TeX by Topic_ could tell me.}

Philip Taylor has made the most significant point.  The language in
which the program was written was Pascal.  Maybe not Object Oriented
as it might be today, but who cares?  The basic program, with its
finely tuned set of primitives, and its quite extraordinary macro
processor is not going to change---for very good reason.  But the
macro language should not be confused with the compiler language that
TeX, the Program is written in.  That enforces structure.  The macro
language only permits it.

Pierre