prehistory of m4

Doug McIlroy <[email protected]>
Newsgroups gmane.comp.gnu.m4.general
Message-ID <[email protected]>
The series of GPM-like macroprocessors at Bell Labs stretches
back further in time than is described in the History section
of the texinfo manual for m4.   Macros were quite a cottage
industry there.

The names m3 and m4 were prefigured by m6, written by Andrew
D. Hall as a tool to parameterize the Fortran source for the 
Altran computer algebra system to facilitate porting among multiple
platforms.  The manual for m6 is at
http://cm.bell-labs.com/cm/cs/cstr/2.pdf. Kernighan and Plauger
were inspired by that model.

Hall's m6 in turn was based on models that Robert Morris
and I described in an unpublished memorandum in 1970. The
code for one of those models was originally written by me
in 1968 during a visiting lectureship in Strachey's lab,
so the connection to GPM is quite intimate.  My Snobol fit on a
page, but of course used the whole Snobol interpreter, while
GPM fit in 250 machine instructions.  Strachey was a brilliant
programmer!

The three predecessors mentioned above were, in chronological
order, written in Snobol 3, Fortran, and Ratfor, so their
source code looked far less similar than their behaviors.

Doug McIlroy
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.