[TUHS] History of m6?

David Arnold davida at pobox.com
Wed Nov 13 20:55:06 AEST 2019


I found some related notes in the history of (GNU) M4:

    https://www.gnu.org/software/m4/manual/m4-1.4.17/html_node/History.html <https://www.gnu.org/software/m4/manual/m4-1.4.17/html_node/History.html>

I’ve no idea how accurate they are.



d



> On 13 Nov 2019, at 18:38, arnold at skeeve.com wrote:
> 
> Thanks Doug!
> 
> So Unix m6 was a port of the Fortran version, it sounds like.
> 
> Q1. When and why was it dropped from Unix? When and why did m4
> enter the picture?
> 
> Q2. What's the history of Fortran on Unix?  Clearly there was a
> lot of Fortran going on in 1127 (cf. BWK's book, ratfor,
> software tools ...)  Who wrote the first Unix fortran compiler?
> 
> Much thanks,
> 
> Arnold
> 
> Doug McIlroy <doug at cs.dartmouth.edu> wrote:
> 
>> 
>> M6 originated as a porting tool for the Fortran source code
>> for Stan Brown's Altran language for algebraic computation. M6
>> itself was originally written in highly portable Fortran.
>> 
>> Arnold asked, "How widespread was the use of macro processors
>> in high level languages?  They were big for assembler, and
>> PL/1 had a macro language, but I don't know of any other
>> contemporary languages that had them."
>> 
>> Understanding "contemporary" to mean pre-C, I agree. Cpp,
>> a particularly trivial macroprocessor, has been heavily used
>> ever since--even for other languages, e.g. Haskell.
>> 
>> The rumor that Bob Morris invented macros is off the
>> mark. Macros were in regular use by the time he joined Bell
>> Labs. He did conceive an interesting "form-letter generator",
>> called "form", and an accompanying editor "fed". A sort of
>> cross between macros and Vannevar Bush's hypothetical memex
>> repository, these were among the earliest Unix programs and
>> appeared in the manual from v1 through v6.
>> 
>> Off-topic warning: pre-Unix stories follow.
>> 
>> Contrary to an assertion on cat-v.org, I did not invent macros
>> either.  In 1959 Doug Eastwood and I, at the suggestion of
>> George Mealy, created the macro facility for SAP (SHARE assmbly
>> program) for the IBM 704. However, the idea was in the air at
>> the time. In particular, we knew that GE already had macros,
>> though we knew no details about their syntax or semantics.
>> 
>> There were various attempts in the 1960s to build languages by
>> macro extension. The approach turned out to entail considerable
>> social cost: communication barriers arise when everyone
>> can easily create his own dialect. A case in point: I once
>> had a bright young mathematician summer employee who wrote
>> wonderfully concise code by heaping up macro definitions. The
>> result was inscrutable.
>> 
>> Macros caught on in a big way in the ESS labs at Indian Hill.
>> With a macro-defined switching language, code builds were
>> slow. One manager there boasted that his lab made more
>> thoroughgoing use of computers than other departments and
>> cited enormous consumption of machine time as evidence.
>> 
>> Steve Johnson recalls corrrectly that there was a set of macros
>> that turned the assembler into a Lisp compiler. I wrote it
>> and used it for a theorem-proving project spurred by Martin
>> Davis. (The project was blown away when Robinson published
>> the resolution princple.) The compiler did some cute local
>> optimization, taking account of facts such as Bob Morris's
>> astute observation that the 704 instruction TNZ (transfer on
>> nonzero) sets the accumulator to zero.
>> 
>> Doug

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20191113/3bf14552/attachment.html>


More information about the TUHS mailing list