The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: arnold@skeeve.com
To: tuhs@tuhs.org, doug@cs.dartmouth.edu
Subject: Re: [TUHS] History of m6?
Date: Wed, 13 Nov 2019 00:38:40 -0700	[thread overview]
Message-ID: <201911130738.xAD7ceUS014587@freefriends.org> (raw)
In-Reply-To: <201911121515.xACFFf0V095921@tahoe.cs.Dartmouth.EDU>

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

  reply	other threads:[~2019-11-13  7:39 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 [this message]
2019-11-13 10:55   ` David Arnold
  -- 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=201911130738.xAD7ceUS014587@freefriends.org \
    --to=arnold@skeeve.com \
    --cc=doug@cs.dartmouth.edu \
    --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).