From: David Arnold <davida@pobox.com>
To: tuhs@tuhs.org
Subject: Re: [TUHS] History of m6?
Date: Wed, 13 Nov 2019 21:55:06 +1100 [thread overview]
Message-ID: <906345E8-A336-4E32-92FE-289FC3087998@pobox.com> (raw)
In-Reply-To: <201911130738.xAD7ceUS014587@freefriends.org>
[-- Attachment #1: Type: text/plain, Size: 3538 bytes --]
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@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@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
[-- Attachment #2: Type: text/html, Size: 5037 bytes --]
next prev parent reply other threads:[~2019-11-13 11:02 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-12 15:15 Doug McIlroy
2019-11-13 7:38 ` arnold
2019-11-13 10:55 ` David Arnold [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-11-11 21:10 Arnold Robbins
2019-11-11 22:18 ` Dennis Boone
2019-11-12 16:01 ` Leah Neukirchen
2019-11-11 22:31 ` Theodore Y. Ts'o
2019-11-11 22:58 ` Dave Horsfall
2019-11-12 0:07 ` Nemo Nusquam
2019-11-12 0:39 ` Dave Horsfall
2019-11-12 0:30 ` Clem cole
2019-11-16 16:27 ` SPC
2019-11-17 5:30 ` Dave Horsfall
2019-11-17 5:50 ` Larry McVoy
2019-11-17 18:12 ` Bakul Shah
2019-11-17 18:23 ` Michael Kjörling
2019-11-17 18:56 ` Bakul Shah
2019-11-17 22:46 ` Barry Stanly
2019-11-12 0:42 ` Dennis Boone
2019-11-11 22:37 ` Michael Kjörling
2019-11-12 1:09 ` Steve Johnson
2019-11-12 15:07 ` Clem Cole
2019-11-13 9:16 ` Thomas Paulsen
2019-11-13 12:20 ` Lars Brinkhoff
2019-11-13 12:50 ` Mike Markowski
2019-11-13 13:02 ` Lars Brinkhoff
2019-11-13 16:56 ` Paul Winalski
2019-11-13 19:19 ` Lars Brinkhoff
2019-11-13 19:21 ` Jon Steinhart
2019-11-14 9:26 ` Thomas Paulsen
2019-11-14 10:53 ` Lars Brinkhoff
2019-11-13 21:26 ` Dave Horsfall
2019-11-13 22:53 ` Jaap Akkerhuis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=906345E8-A336-4E32-92FE-289FC3087998@pobox.com \
--to=davida@pobox.com \
--cc=tuhs@tuhs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).