The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] History of m6?
@ 2019-11-11 21:10 Arnold Robbins
  2019-11-11 22:18 ` Dennis Boone
                   ` (3 more replies)
  0 siblings, 4 replies; 33+ messages in thread
From: Arnold Robbins @ 2019-11-11 21:10 UTC (permalink / raw)
  To: tuhs

Hi.

Doug McIlroy is probably the best person to answer this.

Looking at the V3 and V4 manuals, there is a reference to the m6 macro
processor.  The man page thereof refers to

A. D. Hall, The M6 Macroprocessor, Bell Telephone Laboratories, 1969

1. Is this memo available, even in hardcopy that could be scanned?
2. What's the history of m6, was it written in assembler? C?
3. When and why was it replaced with m4 (written by DMR IIRC)?

More generally, what's the history of m6 prior to Unix?

IIRC, the macro processor in Software Tools was inspired by m4,
and in particular its immediate evaluation of its arguments during
definition.

I guess I'll also ask, 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.  Were the general purpose macro processors used a lot?
E.g. with Fortran or Cobol or ...

I'm just curious. :-)

Thanks,

Arnold

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-11 21:10 [TUHS] History of m6? 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
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 33+ messages in thread
From: Dennis Boone @ 2019-11-11 22:18 UTC (permalink / raw)
  To: tuhs

 > Looking at the V3 and V4 manuals, there is a reference to the m6
 > macro processor.  The man page thereof refers to

 > A. D. Hall, The M6 Macroprocessor, Bell Telephone Laboratories, 1969

 > 1. Is this memo available, even in hardcopy that could be scanned?

Amen - the cited document, CSTR #2 seems to be hard to find.

De

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-11 21:10 [TUHS] History of m6? Arnold Robbins
  2019-11-11 22:18 ` Dennis Boone
@ 2019-11-11 22:31 ` Theodore Y. Ts'o
  2019-11-11 22:58   ` Dave Horsfall
                     ` (2 more replies)
  2019-11-11 22:37 ` Michael Kjörling
  2019-11-12  1:09 ` Steve Johnson
  3 siblings, 3 replies; 33+ messages in thread
From: Theodore Y. Ts'o @ 2019-11-11 22:31 UTC (permalink / raw)
  To: Arnold Robbins; +Cc: tuhs

On Mon, Nov 11, 2019 at 11:10:26PM +0200, Arnold Robbins wrote:
> I guess I'll also ask, 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.  Were the general purpose macro processors used a lot?
> E.g. with Fortran or Cobol or ...

Well, there's Ratfor (Rational Fortran), which was implemented as a
preprocessor in front of Fortran.  I don't think it was used a lot,
though....

					- Ted

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-11 21:10 [TUHS] History of m6? Arnold Robbins
  2019-11-11 22:18 ` Dennis Boone
  2019-11-11 22:31 ` Theodore Y. Ts'o
@ 2019-11-11 22:37 ` Michael Kjörling
  2019-11-12  1:09 ` Steve Johnson
  3 siblings, 0 replies; 33+ messages in thread
From: Michael Kjörling @ 2019-11-11 22:37 UTC (permalink / raw)
  To: tuhs

On 11 Nov 2019 23:10 +0200, from arnold@skeeve.com (Arnold Robbins):
> Looking at the V3 and V4 manuals, there is a reference to the m6 macro
> processor.  The man page thereof refers to
> 
> A. D. Hall, The M6 Macroprocessor, Bell Telephone Laboratories, 1969
> 
> 2. What's the history of m6, was it written in assembler? C?

If it was from 1969, it can't realistically have been written in C,
which at that time wouldn't be around in any form for another few
years.

-- 
Michael Kjörling • https://michael.kjorling.se • michael@kjorling.se
 “Remember when, on the Internet, nobody cared that you were a dog?”


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  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:30   ` Clem cole
  2019-11-12  0:42   ` Dennis Boone
  2 siblings, 1 reply; 33+ messages in thread
From: Dave Horsfall @ 2019-11-11 22:58 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

On Mon, 11 Nov 2019, Theodore Y. Ts'o wrote:

> On Mon, Nov 11, 2019 at 11:10:26PM +0200, Arnold Robbins wrote:
>> I guess I'll also ask, 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.  Were the general purpose macro processors used a lot?
>> E.g. with Fortran or Cobol or ...

Late trivia: it's PL/I, not PL/1; rumour has it that IBM trademarked them 
all up to PL/C i.e. PL/100...

> Well, there's Ratfor (Rational Fortran), which was implemented as a 
> preprocessor in front of Fortran.  I don't think it was used a lot, 
> though....

I think I used it once, on the principle that I'll try anything once; 
ugh...

-- Dave

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-11 22:58   ` Dave Horsfall
@ 2019-11-12  0:07     ` Nemo Nusquam
  2019-11-12  0:39       ` Dave Horsfall
  0 siblings, 1 reply; 33+ messages in thread
From: Nemo Nusquam @ 2019-11-12  0:07 UTC (permalink / raw)
  To: tuhs

On 11/11/19 17:58, Dave Horsfall wrote:
> On Mon, 11 Nov 2019, Theodore Y. Ts'o wrote:
>
>> On Mon, Nov 11, 2019 at 11:10:26PM +0200, Arnold Robbins wrote:
>>> I guess I'll also ask, 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.  Were the general purpose macro processors used a lot?
>>> E.g. with Fortran or Cobol or ...
>
> Late trivia: it's PL/I, not PL/1; rumour has it that IBM trademarked 
> them all up to PL/C i.e. PL/100...

Found nothing on TESS.  Maybe copyright but I am not familiar with 
copyright.

>
>> Well, there's Ratfor (Rational Fortran), which was implemented as a 
>> preprocessor in front of Fortran.  I don't think it was used a lot, 
>> though....
>
> I think I used it once, on the principle that I'll try anything once; 
> ugh...

I worked for a company that wrote everything on ratfor.  #6-)

>
> -- Dave


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-11 22:31 ` Theodore Y. Ts'o
  2019-11-11 22:58   ` Dave Horsfall
@ 2019-11-12  0:30   ` Clem cole
  2019-11-16 16:27     ` SPC
  2019-11-12  0:42   ` Dennis Boone
  2 siblings, 1 reply; 33+ messages in thread
From: Clem cole @ 2019-11-12  0:30 UTC (permalink / raw)
  To: Theodore Y. Ts'o; +Cc: tuhs

Not so fast there my friend.  Ratfor was used a great deal.  For instance The PGI compiler folks wrote a parallel optimizing compiler for the FPS-164 in it.  And FPS used it for there OS.  Plus Apollo wrote all their original utilities in it.   

Sent from my PDP-7 Running UNIX V0 expect things to be almost but not quite. 

> On Nov 11, 2019, at 5:31 PM, Theodore Y. Ts'o <tytso@mit.edu> wrote:
> 
>> On Mon, Nov 11, 2019 at 11:10:26PM +0200, Arnold Robbins wrote:
>> I guess I'll also ask, 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.  Were the general purpose macro processors used a lot?
>> E.g. with Fortran or Cobol or ...
> 
> Well, there's Ratfor (Rational Fortran), which was implemented as a
> preprocessor in front of Fortran.  I don't think it was used a lot,
> though....
> 
>                    - Ted

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-12  0:07     ` Nemo Nusquam
@ 2019-11-12  0:39       ` Dave Horsfall
  0 siblings, 0 replies; 33+ messages in thread
From: Dave Horsfall @ 2019-11-12  0:39 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

On Mon, 11 Nov 2019, Nemo Nusquam wrote:

>> Late trivia: it's PL/I, not PL/1; rumour has it that IBM trademarked 
>> them all up to PL/C i.e. PL/100...
>
> Found nothing on TESS.  Maybe copyright but I am not familiar with 
> copyright.

Could be copyright; I was told this in the early 70s when I was doing 
Computer Science.  Of course, it could also be apocryphal :-(

> I worked for a company that wrote everything on ratfor.  #6-)

Urk...

-- Dave

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-11 22:31 ` Theodore Y. Ts'o
  2019-11-11 22:58   ` Dave Horsfall
  2019-11-12  0:30   ` Clem cole
@ 2019-11-12  0:42   ` Dennis Boone
  2 siblings, 0 replies; 33+ messages in thread
From: Dennis Boone @ 2019-11-12  0:42 UTC (permalink / raw)
  To: tuhs

 > Not so fast there my friend.  Ratfor was used a great deal.  For
 > instance The PGI compiler folks wrote a parallel optimizing compiler
 > for the FPS-164 in it.  And FPS used it for there OS.  Plus Apollo
 > wrote all their original utilities in it.

The Software Tools stuff too, including the STVOS stuff Berkeley
managed.  If you pick an old platform and count RATFOR implementations,
all of them seem to have enough of them you can't swing a dead cat.

RATFOR may not be enjoyable in modern terms, but compared to building in
native F66...

De

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-11 21:10 [TUHS] History of m6? Arnold Robbins
                   ` (2 preceding siblings ...)
  2019-11-11 22:37 ` Michael Kjörling
@ 2019-11-12  1:09 ` Steve Johnson
  2019-11-12 15:07   ` Clem Cole
  3 siblings, 1 reply; 33+ messages in thread
From: Steve Johnson @ 2019-11-12  1:09 UTC (permalink / raw)
  To: Arnold Robbins, tuhs

[-- Attachment #1: Type: text/plain, Size: 2032 bytes --]


Doug can certainly give you more information, but very early in my
career at Bell Labs I saw an internal memo, by (I think) Doug and Bob
Morris, that had a taxonomy of macro systems based on a set of
decisions (things like can you define a macro inside a macro, rescan
expanded macros looking for macro definitions and uses, etc.)   I
seem to recall there were close to a thousand different macro systems
possible.  It was a brilliant paper, but I don't think it was ever
published.  The Assembler for the IBM 7094 had an amazing macro
facility -- I recall that someone wrote a Lisp compiler entirely in
macros, and it would regularly recurse several hundred levels deep
while generating code.  Someone told me once that Bob Morris invented
macros -- I can't vouch for this.   Doug?

Steve

----- Original Message -----
From: "Arnold Robbins" <arnold@skeeve.com>
To:<tuhs@tuhs.org>
Cc:
Sent:Mon, 11 Nov 2019 23:10:26 +0200
Subject:[TUHS] History of m6?

 Hi.

 Doug McIlroy is probably the best person to answer this.

 Looking at the V3 and V4 manuals, there is a reference to the m6
macro
 processor. The man page thereof refers to

 A. D. Hall, The M6 Macroprocessor, Bell Telephone Laboratories, 1969

 1. Is this memo available, even in hardcopy that could be scanned?
 2. What's the history of m6, was it written in assembler? C?
 3. When and why was it replaced with m4 (written by DMR IIRC)?

 More generally, what's the history of m6 prior to Unix?

 IIRC, the macro processor in Software Tools was inspired by m4,
 and in particular its immediate evaluation of its arguments during
 definition.

 I guess I'll also ask, 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. Were the general purpose macro processors used a lot?
 E.g. with Fortran or Cobol or ...

 I'm just curious. :-)

 Thanks,

 Arnold



[-- Attachment #2: Type: text/html, Size: 2777 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-12  1:09 ` Steve Johnson
@ 2019-11-12 15:07   ` Clem Cole
  2019-11-13  9:16     ` Thomas Paulsen
  0 siblings, 1 reply; 33+ messages in thread
From: Clem Cole @ 2019-11-12 15:07 UTC (permalink / raw)
  To: Steve Johnson; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 397 bytes --]

On Mon, Nov 11, 2019 at 8:27 PM Steve Johnson <scj@yaccman.com> wrote:

>  I recall that someone wrote a Lisp compiler entirely in macros, and it
> would regularly recurse several hundred levels deep while generating code.
>
T'was before my time, but the legend has it that the original BLISS-10
bootstrap compiler was a set of TECO macros that Chuck Geschke (Adobe's
founder) wrote.
ᐧ

[-- Attachment #2: Type: text/html, Size: 1548 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-11 22:18 ` Dennis Boone
@ 2019-11-12 16:01   ` Leah Neukirchen
  0 siblings, 0 replies; 33+ messages in thread
From: Leah Neukirchen @ 2019-11-12 16:01 UTC (permalink / raw)
  To: Dennis Boone; +Cc: tuhs

Dennis Boone <drb@msu.edu> writes:

>  > Looking at the V3 and V4 manuals, there is a reference to the m6
>  > macro processor.  The man page thereof refers to
>
>  > A. D. Hall, The M6 Macroprocessor, Bell Telephone Laboratories, 1969
>
>  > 1. Is this memo available, even in hardcopy that could be scanned?
>
> Amen - the cited document, CSTR #2 seems to be hard to find.

Indeed, it took a bit to find:

https://plan9.io/cm/cs/cstr/2.pdf

(Also it's not on archive.org for the original bell-labs.com domain;
it would be nice to have it officially archived.)

Best,
-- 
Leah Neukirchen  <leah@vuxu.org>  https://leahneukirchen.org/

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-12 15:07   ` Clem Cole
@ 2019-11-13  9:16     ` Thomas Paulsen
  2019-11-13 12:20       ` Lars Brinkhoff
                         ` (2 more replies)
  0 siblings, 3 replies; 33+ messages in thread
From: Thomas Paulsen @ 2019-11-13  9:16 UTC (permalink / raw)
  To: Clem Cole; +Cc: tuhs

'T'was before my time, but the legend has it that the original BLISS-10
bootstrap compiler was a set of TECO macros that Chuck Geschke (Adobe's
founder) wrote.'
Really? TECO = Tape Editor and Corrector




^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-13  9:16     ` Thomas Paulsen
@ 2019-11-13 12:20       ` Lars Brinkhoff
  2019-11-13 12:50         ` Mike Markowski
                           ` (2 more replies)
  2019-11-13 21:26       ` Dave Horsfall
  2019-11-13 22:53       ` Jaap Akkerhuis
  2 siblings, 3 replies; 33+ messages in thread
From: Lars Brinkhoff @ 2019-11-13 12:20 UTC (permalink / raw)
  To: Thomas Paulsen; +Cc: tuhs

Thomas Paulsen wrote:
>   'T'was before my time, but the legend has it that the original BLISS-10
>   bootstrap compiler was a set of TECO macros that Chuck Geschke (Adobe's
>   founder) wrote.'
> 
> Really? TECO = Tape Editor and Corrector

Why not?  TECO is both an editor and a programming language.  The first
Emacs was written in TECO.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  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-14  9:26         ` Thomas Paulsen
  2 siblings, 1 reply; 33+ messages in thread
From: Mike Markowski @ 2019-11-13 12:50 UTC (permalink / raw)
  To: Lars Brinkhoff; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 686 bytes --]

On Wed, Nov 13, 2019 at 7:21 AM Lars Brinkhoff <lars@nocrew.org> wrote:

> Thomas Paulsen wrote:
> >   'T'was before my time, but the legend has it that the original BLISS-10
> >   bootstrap compiler was a set of TECO macros that Chuck Geschke (Adobe's
> >   founder) wrote.'
> >
> > Really? TECO = Tape Editor and Corrector
>
> Why not?  TECO is both an editor and a programming language.  The first
> Emacs was written in TECO.
>

Pi calculated with teco:  http://www.iwriteiam.nl/HaPi_TECO_macro.html
This impresses me, partly because it looks like someone fell asleep on a
keyboard.
Running it just now:

  qsb$ tecoc mung pi.tec,30
  314159265358979323846264338327

Mike Markowski

[-- Attachment #2: Type: text/html, Size: 1187 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-13 12:50         ` Mike Markowski
@ 2019-11-13 13:02           ` Lars Brinkhoff
  0 siblings, 0 replies; 33+ messages in thread
From: Lars Brinkhoff @ 2019-11-13 13:02 UTC (permalink / raw)
  To: Mike Markowski; +Cc: The Eunuchs Hysterical Society, coff

Mike Markowski wrote:
> Pi calculated with teco: http://www.iwriteiam.nl/HaPi_TECO_macro.html
> This impresses me, partly because it looks like someone fell asleep on a
> keyboard.

As does this:

https://news.ycombinator.com/item?id=13519471

Perhaps COFF is more appropriate for TECO discussions.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-13 12:20       ` Lars Brinkhoff
  2019-11-13 12:50         ` Mike Markowski
@ 2019-11-13 16:56         ` Paul Winalski
  2019-11-13 19:19           ` Lars Brinkhoff
  2019-11-14  9:26         ` Thomas Paulsen
  2 siblings, 1 reply; 33+ messages in thread
From: Paul Winalski @ 2019-11-13 16:56 UTC (permalink / raw)
  To: Lars Brinkhoff; +Cc: tuhs

On 11/13/19, Lars Brinkhoff <lars@nocrew.org> wrote:
>
> Why not?  TECO is both an editor and a programming language.  The first
> Emacs was written in TECO.
>
Which is how it got its name, of course.  Emacs = "Editor MACroS".

-Paul W.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-13 16:56         ` Paul Winalski
@ 2019-11-13 19:19           ` Lars Brinkhoff
  2019-11-13 19:21             ` Jon Steinhart
  0 siblings, 1 reply; 33+ messages in thread
From: Lars Brinkhoff @ 2019-11-13 19:19 UTC (permalink / raw)
  To: Paul Winalski; +Cc: tuhs

Paul Winalski wrote:
>> The first Emacs was written in TECO.
> Which is how it got its name, of course.  Emacs = "Editor MACroS".

So the story goes.  But I'm not sure sure.  In November 1976, the name
went from ? and ?MACS to E and EMACS.  Maybe "editor" was implied, but
it doesn't come up in the email conversation.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-13 19:19           ` Lars Brinkhoff
@ 2019-11-13 19:21             ` Jon Steinhart
  0 siblings, 0 replies; 33+ messages in thread
From: Jon Steinhart @ 2019-11-13 19:21 UTC (permalink / raw)
  To: tuhs

Lars Brinkhoff writes:
> Paul Winalski wrote:
> >> The first Emacs was written in TECO.
> > Which is how it got its name, of course.  Emacs = "Editor MACroS".
>
> So the story goes.  But I'm not sure sure.  In November 1976, the name
> went from ? and ?MACS to E and EMACS.  Maybe "editor" was implied, but
> it doesn't come up in the email conversation.

For what it's worth, I have some vague memory of attending a lunchtime
presentation at BTL in maybe the summer of 72 or 73 on EMACS as TECO
editor macros.

Jon

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-13  9:16     ` Thomas Paulsen
  2019-11-13 12:20       ` Lars Brinkhoff
@ 2019-11-13 21:26       ` Dave Horsfall
  2019-11-13 22:53       ` Jaap Akkerhuis
  2 siblings, 0 replies; 33+ messages in thread
From: Dave Horsfall @ 2019-11-13 21:26 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

On Wed, 13 Nov 2019, Thomas Paulsen wrote:

> Really? TECO = Tape Editor and Corrector

Text Editor and Corrector, back when I had to learn it for a contract 
assignment.

-- Dave

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-13  9:16     ` Thomas Paulsen
  2019-11-13 12:20       ` Lars Brinkhoff
  2019-11-13 21:26       ` Dave Horsfall
@ 2019-11-13 22:53       ` Jaap Akkerhuis
  2 siblings, 0 replies; 33+ messages in thread
From: Jaap Akkerhuis @ 2019-11-13 22:53 UTC (permalink / raw)
  To: Thomas Paulsen; +Cc: tuhs



> On Nov 13, 2019, at 10:16, Thomas Paulsen <thomas.paulsen@firemail.de> wrote:
> 
> 'T'was before my time, but the legend has it that the original BLISS-10
> bootstrap compiler was a set of TECO macros that Chuck Geschke (Adobe's
> founder) wrote.'
> Really? TECO = Tape Editor and Corrector

Yes, and the TAPE in the mnemonic is paper tape.

In an former live we once had a text formatter running on OS/8
(pdp-8) written in TECO.

	jaap

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-13 12:20       ` Lars Brinkhoff
  2019-11-13 12:50         ` Mike Markowski
  2019-11-13 16:56         ` Paul Winalski
@ 2019-11-14  9:26         ` Thomas Paulsen
  2019-11-14 10:53           ` Lars Brinkhoff
  2 siblings, 1 reply; 33+ messages in thread
From: Thomas Paulsen @ 2019-11-14  9:26 UTC (permalink / raw)
  To: Lars Brinkhoff; +Cc: tuhs


'Why not?  TECO is both an editor and a programming language.  The first
Emacs was written in TECO.'

Hic Rhodos - Hic Salta!

I have a account on a remote twenex PDP10. There is a editor named emacs. This is a very archaic piece of software. It doesn't know any teco commands no matter how I tried. I'm pretty sure that this is teco-emacs. I draw my own conclusions from these observations which are far away from all these myths.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-14  9:26         ` Thomas Paulsen
@ 2019-11-14 10:53           ` Lars Brinkhoff
  0 siblings, 0 replies; 33+ messages in thread
From: Lars Brinkhoff @ 2019-11-14 10:53 UTC (permalink / raw)
  To: Thomas Paulsen; +Cc: tuhs, coff

I suggest continuing this on COFF.

Thomas Paulsen wrote:
> I have a account on a remote twenex PDP10. There is a editor named
> emacs. This is a very archaic piece of software.  It doesn't know any
> teco commands no matter how I tried. I'm pretty sure that this is
> teco-emacs.

Yes, it should be TECO Emacs.  Normal use of Emacs rarely needs TECO
commands.

To get a TECO minibuffer type Meta-Altmode (Esc Esc).  You should get a
small window at the top of the terminal in which you can enter TECO
commands.  Execute them with double altmode as you would in any TECO.

> I draw my own conclusions from these observations which are far away
> from all these myths.

I try to stay with the facts.  I actually use TECO Emacs almost daily,
and I have built it from sources.  Some other information is based on
email conversations among those who wrote Emacs.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-12  0:30   ` Clem cole
@ 2019-11-16 16:27     ` SPC
  2019-11-17  5:30       ` Dave Horsfall
  0 siblings, 1 reply; 33+ messages in thread
From: SPC @ 2019-11-16 16:27 UTC (permalink / raw)
  To: Clem Cole; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 528 bytes --]

El mar., 12 nov. 2019 1:31, Clem cole <clemc@ccc.com> escribió:

> Not so fast there my friend.  Ratfor was used a great deal.  For instance
> The PGI compiler folks wrote a parallel optimizing compiler for the FPS-164
> in it.  And FPS used it for there OS.  Plus Apollo wrote all their original
> utilities in it.


My first FORTRAN textbook was titled "FORTRAN with WATFOR and WATFIV". It
had a long print run as well.

Cordiales saludos / Best Regards / Salutations / Freundliche Grüße
-----
Sergio Pedraja

[-- Attachment #2: Type: text/html, Size: 1098 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-16 16:27     ` SPC
@ 2019-11-17  5:30       ` Dave Horsfall
  2019-11-17  5:50         ` Larry McVoy
  0 siblings, 1 reply; 33+ messages in thread
From: Dave Horsfall @ 2019-11-17  5:30 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

On Sat, 16 Nov 2019, SPC wrote:

> My first FORTRAN textbook was titled "FORTRAN with WATFOR and WATFIV". 
> It had a long print run as well.

Now *that* brings back memories (not necessarily pleasant).  WATFOR was as 
ugly as sin, but WATFIV was much better i.e. it actually knew about stuff 
such as labelled common etc (I could be wrong here).

And I still feel like taking a shower after discussing FORTRAN :-)

Then we got ALGOLW, and it was heavenly.  PL/360 had a good run too.

-- Dave

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-17  5:30       ` Dave Horsfall
@ 2019-11-17  5:50         ` Larry McVoy
  2019-11-17 18:12           ` Bakul Shah
  0 siblings, 1 reply; 33+ messages in thread
From: Larry McVoy @ 2019-11-17  5:50 UTC (permalink / raw)
  To: Dave Horsfall; +Cc: The Eunuchs Hysterical Society

On Sun, Nov 17, 2019 at 04:30:15PM +1100, Dave Horsfall wrote:
> On Sat, 16 Nov 2019, SPC wrote:
> 
> >My first FORTRAN textbook was titled "FORTRAN with WATFOR and WATFIV". It
> >had a long print run as well.
> 
> Now *that* brings back memories (not necessarily pleasant).  WATFOR was as
> ugly as sin

I'm pretty sure that was the Fortran I learned.  Yeah, it was not C.  But
it was math.  I spent a bunch of time learning accumulated errors and 
more time on floating point numbers.  My dad was a theoretical physics
guy so I did some coding for him.  I respected Fortran for what it could
do but I developed a hate for floating point.  In my mind, floating
point numbers meant you couldn't handle the world you were working in.
It just felt like you could shift the domain you were working in so
integers could work.  If you couldn't do that, you were admitting that
you were not accurate.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  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 22:46             ` Barry Stanly
  0 siblings, 2 replies; 33+ messages in thread
From: Bakul Shah @ 2019-11-17 18:12 UTC (permalink / raw)
  To: Larry McVoy; +Cc: The Eunuchs Hysterical Society

On Sat, 16 Nov 2019 21:50:58 -0800 Larry McVoy <lm@mcvoy.com> wrote:
Larry McVoy writes:
> On Sun, Nov 17, 2019 at 04:30:15PM +1100, Dave Horsfall wrote:
> > On Sat, 16 Nov 2019, SPC wrote:
> > 
> > >My first FORTRAN textbook was titled "FORTRAN with WATFOR and WATFIV". It
> > >had a long print run as well.
> > 
> > Now *that* brings back memories (not necessarily pleasant).  WATFOR was as
> > ugly as sin
>
> I'm pretty sure that was the Fortran I learned.  Yeah, it was not C.  But
> it was math.  I spent a bunch of time learning accumulated errors and 
> more time on floating point numbers.  My dad was a theoretical physics
> guy so I did some coding for him.  I respected Fortran for what it could
> do but I developed a hate for floating point.  In my mind, floating
> point numbers meant you couldn't handle the world you were working in.
> It just felt like you could shift the domain you were working in so
> integers could work.  If you couldn't do that, you were admitting that
> you were not accurate.

Many numbers can't be represented perfectly using integers or
rationals (a pair of integers) but can be computed using a
series expansion to arbitrary precision.  I thought FP numbers
were a clever & practical compromise that worked quite well.
David Goldberg's "What every computer scientist should know
about floating-point" is worth reading.
  
  https://www.itu.dk/~sestoft/bachelor/IEEE754_article.pdf

Earlier I remember reading the "Numerical Recipes" books by
Press, Teukolsky, Vetterling & Flannery. IIRC, the original
version used Fortran.  They also had versions using Pascal and
C (I finally bought the C version in '80s though never used it).

Note that Scheme & CL have a full complement of numeric types:
big nums, rationals, reals and complex numbers.  At least some
versions of CL have arbitrary precision FP numbers.

What I really want is a programming language with support for
symbolic manipulation of formulas!

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  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
  1 sibling, 1 reply; 33+ messages in thread
From: Michael Kjörling @ 2019-11-17 18:23 UTC (permalink / raw)
  To: tuhs

On 17 Nov 2019 10:12 -0800, from bakul@bitblocks.com (Bakul Shah):
> What I really want is a programming language with support for
> symbolic manipulation of formulas!

Do you mean something like HAL/S?

https://en.wikipedia.org/wiki/HAL/S#Syntax

Though quite frankly, at a glance that multi-line syntax looks
somewhat awkward for little benefit over a single-line format,
especially if the code is already annotated (as certainly I would
expect for in-flight avionics software, never mind aboard a
spacecraft).

-- 
Michael Kjörling • https://michael.kjorling.se • michael@kjorling.se
 “Remember when, on the Internet, nobody cared that you were a dog?”


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-17 18:23             ` Michael Kjörling
@ 2019-11-17 18:56               ` Bakul Shah
  0 siblings, 0 replies; 33+ messages in thread
From: Bakul Shah @ 2019-11-17 18:56 UTC (permalink / raw)
  To: Michael Kjörling; +Cc: tuhs

On Sun, 17 Nov 2019 18:23:05 +0000 Michael =?utf-8?B?S2rDtnJsaW5n?= <michael@kjorling.se> wrote:
Michael Kjörling writes:
> On 17 Nov 2019 10:12 -0800, from bakul@bitblocks.com (Bakul Shah):
> > What I really want is a programming language with support for
> > symbolic manipulation of formulas!
>
> Do you mean something like HAL/S?
>
> https://en.wikipedia.org/wiki/HAL/S#Syntax
>
> Though quite frankly, at a glance that multi-line syntax looks
> somewhat awkward for little benefit over a single-line format,
> especially if the code is already annotated (as certainly I would
> expect for in-flight avionics software, never mind aboard a
> spacecraft).

Syntax is a separate issue.  Something like what Macsyma (or
Maxima now) or even LaTeX would be fine. Many word processors
and browsers can render the latter properly. Syntax is the
easy part (though it can be controversial).  The hard part is
having to build in a tremendous amount of math knowledge. Even
if the compiler/interpreter were to outsource the symbolic
algebra manipulation part to maxima, mathematica or some such,
smooth integration with other language features would not be easy.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-17 18:12           ` Bakul Shah
  2019-11-17 18:23             ` Michael Kjörling
@ 2019-11-17 22:46             ` Barry Stanly
  1 sibling, 0 replies; 33+ messages in thread
From: Barry Stanly @ 2019-11-17 22:46 UTC (permalink / raw)
  To: tuhs

Just a note:
(I am new to this list and find the history revealed fascinating, so 
thank you all for insights.)
There is an interesting paper on symbolic formula manipulation:
https://pdfs.semanticscholar.org/0367/25f0abfd88879dd88d77e3a5e51915db5f1b.pdf

There is also a symbolic Python library: https://www.sympy.org/en/index.html

On 11/17/2019 10:12 AM, Bakul Shah wrote:
> On Sat, 16 Nov 2019 21:50:58 -0800 Larry McVoy <lm@mcvoy.com> wrote:
> Larry McVoy writes:
>> On Sun, Nov 17, 2019 at 04:30:15PM +1100, Dave Horsfall wrote:
>>> On Sat, 16 Nov 2019, SPC wrote:
>>>
>>>> My first FORTRAN textbook was titled "FORTRAN with WATFOR and WATFIV". It
>>>> had a long print run as well.
>>> Now *that* brings back memories (not necessarily pleasant).  WATFOR was as
>>> ugly as sin
>> I'm pretty sure that was the Fortran I learned.  Yeah, it was not C.  But
>> it was math.  I spent a bunch of time learning accumulated errors and
>> more time on floating point numbers.  My dad was a theoretical physics
>> guy so I did some coding for him.  I respected Fortran for what it could
>> do but I developed a hate for floating point.  In my mind, floating
>> point numbers meant you couldn't handle the world you were working in.
>> It just felt like you could shift the domain you were working in so
>> integers could work.  If you couldn't do that, you were admitting that
>> you were not accurate.
> Many numbers can't be represented perfectly using integers or
> rationals (a pair of integers) but can be computed using a
> series expansion to arbitrary precision.  I thought FP numbers
> were a clever & practical compromise that worked quite well.
> David Goldberg's "What every computer scientist should know
> about floating-point" is worth reading.
>    
>    https://www.itu.dk/~sestoft/bachelor/IEEE754_article.pdf
>
> Earlier I remember reading the "Numerical Recipes" books by
> Press, Teukolsky, Vetterling & Flannery. IIRC, the original
> version used Fortran.  They also had versions using Pascal and
> C (I finally bought the C version in '80s though never used it).
>
> Note that Scheme & CL have a full complement of numeric types:
> big nums, rationals, reals and complex numbers.  At least some
> versions of CL have arbitrary precision FP numbers.
>
> What I really want is a programming language with support for
> symbolic manipulation of formulas!
>


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-13  7:38 ` arnold
@ 2019-11-13 10:55   ` David Arnold
  0 siblings, 0 replies; 33+ messages in thread
From: David Arnold @ 2019-11-13 10:55 UTC (permalink / raw)
  To: tuhs

[-- 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 --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
  2019-11-12 15:15 Doug McIlroy
@ 2019-11-13  7:38 ` arnold
  2019-11-13 10:55   ` David Arnold
  0 siblings, 1 reply; 33+ messages in thread
From: arnold @ 2019-11-13  7:38 UTC (permalink / raw)
  To: tuhs, doug

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

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [TUHS] History of m6?
@ 2019-11-12 15:15 Doug McIlroy
  2019-11-13  7:38 ` arnold
  0 siblings, 1 reply; 33+ messages in thread
From: Doug McIlroy @ 2019-11-12 15:15 UTC (permalink / raw)
  To: tuhs


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

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2019-11-17 22:47 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-11 21:10 [TUHS] History of m6? 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
2019-11-12 15:15 Doug McIlroy
2019-11-13  7:38 ` arnold
2019-11-13 10:55   ` David Arnold

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).