The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Algol 68 and Unix (was cron and at ...)
@ 2020-12-17 14:21 M Douglas McIlroy
  2020-12-17 14:24 ` Ronald Natalie
  2020-12-17 14:44 ` Mike Markowski
  0 siblings, 2 replies; 6+ messages in thread
From: M Douglas McIlroy @ 2020-12-17 14:21 UTC (permalink / raw)
  To: tuhs, cowan

> Sometimes I wonder what would have happened if A68 had become the medium-level language of Unix

My knowledge of A68 comes from reading the official definition back in
the day. It took effort to see the clarity of the design through the
fog of the description. Until more accessible descriptions came along
(which I admit to not having seen) it would have been a big barrier to
acceptance.

A68 was very much in the air (though not much on the ground) in the
early days of Unix, as was PL/I. Although we had implemented and used
PL/I for Multics, it was never considered for Unix due to Its size and
the rise of other attractive languages during the 6-year gestation of
Multics. BCPL had the most influence, particularly in its clever
identity a[i] = i [a] = *(a+i).It was OK to write 2[x], which served
to implement structs like this: field=2; field[x]=3. (Actually the
BCPL indirection operator was not *. Dennis borrowed the more
perspicuous *from the SAP assembler for IBM 700-series machines.)

From Algol 68 Dennis borrowed addition operators like +=, though at
first he unwisely reversed their spelling, underestimating the
inherent hazard of  a=-b. He rejected A68's automatic dereferencing as
too inflexible. He considered whether semicolons should be separators
as in Algol, or terminators as in PL/I. (Separators are more
convenient for macro substitution, but macros were not in the original
design.) He also considered making statements and expressions mutually
recursive as in A68. My recollection is that his choices were finally
based on a guess about user acceptance--how many radical innovations
would prospective users buy into. Perhaps Ken would have more to say
about this,

I tried to persuade Dennis to provide simultaneous assignments like
a,b = b,a, In the end, the comma operator got hijacked for a partial
realization of embedded statements.(We could still get parallel
assignment by, interpreting the existing {a,b,c} syntax as an lvalue
thus: {a,b,c}={b,c,a}.)

Then came Steve Bourne, with real experience in A68. Its influence on
the shell, including the story of do...done, has often been told. It
shows up most vividly in the condition part of if and while
statements.

Doug

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

* Re: [TUHS] Algol 68 and Unix (was cron and at ...)
  2020-12-17 14:21 [TUHS] Algol 68 and Unix (was cron and at ...) M Douglas McIlroy
@ 2020-12-17 14:24 ` Ronald Natalie
  2020-12-17 14:35   ` Larry McVoy
  2020-12-17 14:44 ` Mike Markowski
  1 sibling, 1 reply; 6+ messages in thread
From: Ronald Natalie @ 2020-12-17 14:24 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

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



> On Dec 17, 2020, at 9:21 AM, M Douglas McIlroy <m.douglas.mcilroy@dartmouth.edu> wrote:
> 
> shell, including the story of do...done, has often been told. It
> shows up most vividly in the condition part of if and while
> statements.

I was never so happy as when SVR2 came out and found that someone had “translated” the shell source code back into C.


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

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

* Re: [TUHS] Algol 68 and Unix (was cron and at ...)
  2020-12-17 14:24 ` Ronald Natalie
@ 2020-12-17 14:35   ` Larry McVoy
  0 siblings, 0 replies; 6+ messages in thread
From: Larry McVoy @ 2020-12-17 14:35 UTC (permalink / raw)
  To: Ronald Natalie; +Cc: The Eunuchs Hysterical Society

On Thu, Dec 17, 2020 at 09:24:47AM -0500, Ronald Natalie wrote:
> 
> 
> > On Dec 17, 2020, at 9:21 AM, M Douglas McIlroy <m.douglas.mcilroy@dartmouth.edu> wrote:
> > 
> > shell, including the story of do...done, has often been told. It
> > shows up most vividly in the condition part of if and while
> > statements.
> 
> I was never so happy as when SVR2 came out and found that someone had ???translated??? the shell source code back into C.

I sort of agree.  The macro-ed ALGOL like syntax that Steve did was hard
to deal with if you weren't on the ALGOL train (I was not, too young).
So the C version was easier for me to understand.  But it sort of
lost something, I didn't really understand Steve's version, not at any
deep level.  But it made more sense, somehow, than the C version did.

--lm

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

* Re: [TUHS] Algol 68 and Unix (was cron and at ...)
  2020-12-17 14:21 [TUHS] Algol 68 and Unix (was cron and at ...) M Douglas McIlroy
  2020-12-17 14:24 ` Ronald Natalie
@ 2020-12-17 14:44 ` Mike Markowski
  2020-12-17 21:18   ` Dr Iain Maoileoin
  1 sibling, 1 reply; 6+ messages in thread
From: Mike Markowski @ 2020-12-17 14:44 UTC (permalink / raw)
  To: tuhs

On 12/17/20 9:21 AM, M Douglas McIlroy wrote:
> 
> ...My knowledge of A68 comes from reading the official definition back in
> the day. It took effort to see the clarity of the design through the
> fog of the description. Until more accessible descriptions came along
> (which I admit to not having seen) it would have been a big barrier to
> acceptance...

By coincidence, fortune brought this up as I opened a terminal window:

No proper program contains an indication which as an operator-applied 
occurrence identifies an operator-defining occurrence which as an 
indication-applied occurrence identifies an indication-defining 
occurrence different from the one identified by the given indication as 
an indication-applied occurrence.
  -- ALGOL 68 Report

Yikes...
Mike

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

* Re: [TUHS] Algol 68 and Unix (was cron and at ...)
  2020-12-17 14:44 ` Mike Markowski
@ 2020-12-17 21:18   ` Dr Iain Maoileoin
  2020-12-18  5:06     ` John Cowan
  0 siblings, 1 reply; 6+ messages in thread
From: Dr Iain Maoileoin @ 2020-12-17 21:18 UTC (permalink / raw)
  To: Mike Markowski; +Cc: tuhs


> On 17 Dec 2020, at 14:44, Mike Markowski <mike.ab3ap@gmail.com> wrote:
> 
> On 12/17/20 9:21 AM, M Douglas McIlroy wrote:
>> ...My knowledge of A68 comes from reading the official definition back in
>> the day. It took effort to see the clarity of the design through the
>> fog of the description. Until more accessible descriptions came along
>> (which I admit to not having seen) it would have been a big barrier to
>> acceptance...
> 
> By coincidence, fortune brought this up as I opened a terminal window:
> 
> No proper program contains an indication which as an operator-applied occurrence identifies an operator-defining occurrence which as an indication-applied occurrence identifies an indication-defining occurrence different from the one identified by the given indication as an indication-applied occurrence.
> -- ALGOL 68 Report

Now that I understand ;-)  
> Yikes…
But that bit I dont! ;-(
> Mike

We we taught Algol 68 R, running it on an ICL 1904S from 1st year onwards.  The 1904 was a 24bit 6 bits per “byte” system.  Handling upper and lower on the line printer was a lot of work!

The mixture of language practical and theory helped cement both.  Unix did not come along - for the uni - until a year or so later.
A decent understanding of the Algol68 pointers, deref (auto or not), casts, array slices, garbage collection etc made moving to C fairly easy for most of the cohort.  


The fortune cooked has been a bad journalist and taken the sentence out of context.  The previous 423 pages were essential reading.

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

* Re: [TUHS] Algol 68 and Unix (was cron and at ...)
  2020-12-17 21:18   ` Dr Iain Maoileoin
@ 2020-12-18  5:06     ` John Cowan
  0 siblings, 0 replies; 6+ messages in thread
From: John Cowan @ 2020-12-18  5:06 UTC (permalink / raw)
  To: Dr Iain Maoileoin; +Cc: TUHS main list

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

On Thu, Dec 17, 2020 at 6:02 PM Dr Iain Maoileoin <
iain@csp-partnership.co.uk> wrote:


> The fortune cooked has been a bad journalist and taken the sentence out of
> context.  The previous 423 pages were essential reading.


Well, I'll go with Lindsey's [?] remark about how you can't understand any
part of the Report until you understand all of it.  However, without the
typography it's a lot harder to follow.

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

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

end of thread, other threads:[~2020-12-18  5:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-17 14:21 [TUHS] Algol 68 and Unix (was cron and at ...) M Douglas McIlroy
2020-12-17 14:24 ` Ronald Natalie
2020-12-17 14:35   ` Larry McVoy
2020-12-17 14:44 ` Mike Markowski
2020-12-17 21:18   ` Dr Iain Maoileoin
2020-12-18  5:06     ` John Cowan

The Unix Heritage Society mailing list

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/tuhs

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 tuhs tuhs/ http://inbox.vuxu.org/tuhs \
		tuhs@minnie.tuhs.org
	public-inbox-index tuhs

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.tuhs


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git