Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

"In Defense of ALGOL"

127 views
Skip to first unread message

Louis Krupp

unread,
Sep 1, 2022, 5:18:46 PM9/1/22
to
See the second column on the first page:

https://dl.acm.org/doi/pdf/10.1145/365230.365233

Louis

Peter Flass

unread,
Sep 1, 2022, 6:13:14 PM9/1/22
to
Louis Krupp <lkr...@invalid.pssw.com.invalid> wrote:
> See the second column on the first page:
>
> https://dl.acm.org/doi/pdf/10.1145/365230.365233

Yes, and? B5500 ALGOL was a very good implementation of ALGOL-58, except
that stream procedures bypassed all the hardware protection mechanisms. I
think Burroughs fixed this on later machines. ALGOL was later sunk by the
development of ALGOL-68, which (AIUI) was more different from ALGOL-60 than
C++ is from C.

ALGOL and PL/I suffered from the same syndrome where FORTRAN programmers
wanted FORTRAN and COBOL programmers wanted COBOL, and that didn’t leave
much room for anything else at the time.

--
Pete

Quadibloc

unread,
Sep 1, 2022, 8:58:52 PM9/1/22
to
On Thursday, September 1, 2022 at 4:13:14 PM UTC-6, Peter Flass wrote:
> ALGOL was later sunk by the
> development of ALGOL-68, which (AIUI) was more different from ALGOL-60 than
> C++ is from C.

I have to agree that Algol-68 sank Algol. I had thought that the reason for that,
aside from silly things like case ... esac, was that implementing Algol-68 was
somewhat beyond the state of the art at the time.

That doesn't mean that there were _no_ implementations, just that many who
might have implemented an update to Algol did not feel themselves qualified
to produce an adequate implementation.

Of course, the world could have just ignored Algol-68, and stuck with Algol-60,
perhaps with slight tweaks and improvements. What closed off _that_ line of
development was...

Pascal.

John Savard

Robin Vowels

unread,
Sep 1, 2022, 11:27:00 PM9/1/22
to
On Friday, September 2, 2022 at 7:18:46 AM UTC+10, Louis Krupp wrote:
> See the second column on the first page:
>
> https://dl.acm.org/doi/pdf/10.1145/365230.365233
.
The "over-the-horizon language" due mid-1966 was probably PL/I,
that considerably extended both ALGOL-60 and FORTRAN.
.
ALGOL was a particularly good medium for expressing readable numerical algorithms,
and it was a pity that some authors submitted programs in a less-well endowed language.

Louis Krupp

unread,
Sep 2, 2022, 2:11:52 AM9/2/22
to
On 9/1/2022 4:13 PM, Peter Flass wrote:
> Louis Krupp <lkr...@invalid.pssw.com.invalid> wrote:
>> See the second column on the first page:
>>
>> https://dl.acm.org/doi/pdf/10.1145/365230.365233
> Yes, and? B5500 ALGOL was a very good implementation of ALGOL-58, except
> that stream procedures bypassed all the hardware protection mechanisms. I
> think Burroughs fixed this on later machines. ALGOL was later sunk by the
> development of ALGOL-68, which (AIUI) was more different from ALGOL-60 than
> C++ is from C.

Stream procedures could manipulate words that had the flag bit set, and
to the best of my recollection, that's the only hardware protection the
B5500 had. The Large System series -- the B6500/6700 on up -- had a more
complete capability architecture with three tag bits, and compilers that
generated user programs wouldn't emit operators that would touch words
with odd tags.

As a teenage nerd, I thought stream procedures were the coolest thing ever.

If Burroughs Large Systems -- or their Unisys successors -- had
attracted more users, especially at universities, there might have been
a reason to design a practical and portable version of ALGOL. Burroughs
Extended ALGOL and Large Systems' architecture were said to have been
designed together; I attended a few Burroughs users' conferences until
about 1982, and portability of source programs to other systems was a
concept I never heard discussed.

I would guess that most users of Burroughs Extended ALGOL had no idea
that the language had a history outside Burroughs and that things called
ALGOL-58 and ALGOL-60 existed. I certainly didn't have a clue.

> ALGOL and PL/I suffered from the same syndrome where FORTRAN programmers
> wanted FORTRAN and COBOL programmers wanted COBOL, and that didn’t leave
> much room for anything else at the time.
>

There was a PL/I compiler for Burroughs Large Systems, but it was big
and complex and slow and not entirely bug-free and relatively few people
used it.

Louis

Thomas Koenig

unread,
Sep 2, 2022, 2:50:06 AM9/2/22
to
Louis Krupp <lkr...@invalid.pssw.com.invalid> schrieb:
> See the second column on the first page:
>
> https://dl.acm.org/doi/pdf/10.1145/365230.365233

Lack of standardized I/O was a huge design flaw, each compiler
had to roll its own, so there was no portability across systems.

Kernighan wrote this in "UNIX: A History and a Memoir" that there
are three possibilities of doing I/O in a langue: Integrated into
the language itself (Fortran, Pascal), implemented in a library (C)
or not specifyling this at all. The last he called (from memory)
the least desirable option.

And FORTRAN was not only groundbreaking in optimization and writing
formulas in a "natural" way. Its I/O was also radical and new,
the FORMAT statement was a big innovation.

Robin Vowels

unread,
Sep 2, 2022, 10:51:18 AM9/2/22
to
.
My PL/I string-processing program, which I sent to another site, worked first time.

Robin Vowels

unread,
Sep 2, 2022, 10:58:10 AM9/2/22
to
On Friday, September 2, 2022 at 4:50:06 PM UTC+10, Thomas Koenig wrote:
> Louis Krupp <lkr...@invalid.pssw.com.invalid> schrieb:
.
> Lack of standardized I/O was a huge design flaw, each compiler
> had to roll its own, so there was no portability across systems.

Indeed. Lack of portability was a difficulty. And it wasn't just the
I/O that wasn't portable.
.
> Kernighan wrote this in "UNIX: A History and a Memoir" that there
> are three possibilities of doing I/O in a langue: Integrated into
> the language itself (Fortran, Pascal), implemented in a library (C)
> or not specifyling this at all. The last he called (from memory)
> the least desirable option.
>
> And FORTRAN was not only groundbreaking in optimization and writing
> formulas in a "natural" way. Its I/O was also radical and new,
> the FORMAT statement was a big innovation.
.
Various ALGOLs implemented something that was just as good,
namely, to specify the number of digits in the printing of the number.

Stephen Fuld

unread,
Sep 2, 2022, 11:00:36 AM9/2/22
to
On 9/1/2022 11:11 PM, Louis Krupp wrote:
> On 9/1/2022 4:13 PM, Peter Flass wrote:
>> Louis Krupp <lkr...@invalid.pssw.com.invalid> wrote:
>>> See the second column on the first page:
>>>
>>> https://dl.acm.org/doi/pdf/10.1145/365230.365233
>> Yes, and? B5500 ALGOL was a very good implementation of ALGOL-58, except
>> that stream procedures bypassed all the hardware protection mechanisms. I
>> think Burroughs fixed this on later machines. ALGOL was later sunk by the
>> development of ALGOL-68, which (AIUI) was more different from ALGOL-60
>> than
>> C++ is from C.
>
> Stream procedures could manipulate words that had the flag bit set, and
> to the best of my recollection, that's the only hardware protection the
> B5500 had. The Large System series -- the B6500/6700 on up -- had a more
> complete capability architecture with three tag bits, and compilers that
> generated user programs wouldn't emit operators that would touch words
> with odd tags.
>
> As a teenage nerd, I thought stream procedures were the coolest thing ever.
>
> If Burroughs Large Systems -- or their Unisys successors -- had
> attracted more users, especially at universities, there might have been
> a reason to design a practical and portable version of ALGOL.

Given that the original Algol didn't specify any I/O, so each
implementation did their own, it was hard to be portable. In fact one
"definition" of Pascal, was Algol plus I/O.


> Burroughs
> Extended ALGOL and Large Systems' architecture were said to have been
> designed together; I attended a few Burroughs users' conferences until
> about 1982, and portability of source programs to other systems was a
> concept I never heard discussed.
>
> I would guess that most users of Burroughs Extended ALGOL had no idea
> that the language had a history outside Burroughs and that things called
> ALGOL-58 and ALGOL-60 existed. I certainly didn't have a clue.

There were Algol compilers for many different architectures. For
example, the Univac 1100 series actually had two different ones. Lack
of compilers wasn't a major factor in Algol's lack of popularity.


>> ALGOL and PL/I suffered from the same syndrome where FORTRAN programmers
>> wanted FORTRAN and COBOL programmers wanted COBOL, and that didn’t leave
>> much room for anything else at the time.
>>
>
> There was a PL/I compiler for Burroughs Large Systems, but it was big
> and complex and slow and not entirely bug-free and relatively few people
> used it.

Same for other architectures. Pl/1 was/is a large and complex language.
Early compilers didn't do too well. I believe it never gained much
popularity outside of IBM, and even there its success was "modest".


--
- Stephen Fuld
(e-mail address disguised to prevent spam)


Ahem A Rivet's Shot

unread,
Sep 2, 2022, 1:00:03 PM9/2/22
to
On Thu, 1 Sep 2022 17:58:51 -0700 (PDT)
Quadibloc <jsa...@ecn.ab.ca> wrote:

> On Thursday, September 1, 2022 at 4:13:14 PM UTC-6, Peter Flass wrote:
> > ALGOL was later sunk by the
> > development of ALGOL-68, which (AIUI) was more different from ALGOL-60
> > than C++ is from C.
>
> I have to agree that Algol-68 sank Algol. I had thought that the reason
> for that, aside from silly things like case ... esac, was that
> implementing Algol-68 was somewhat beyond the state of the art at the
> time.

That and the whole business of stropping (by case or underline
or ...) was strange.

> That doesn't mean that there were _no_ implementations, just that many who
> might have implemented an update to Algol did not feel themselves
> qualified to produce an adequate implementation.

Algol 68C had quite a following at Cambridge circa 1980 - I suspect
that following dwindled when C was finally allowed at Cambridge. Some of
the software for the Torch CP/M machine was written in Algol 68C and
compiled to Z80 code on the University's 370. There was even a public
reading (aloud) of "The Revised Report on the Programming Language Algol
68" by a group of students (not including me - I thought the language to
be hideously overcomplex, but then I liked BCPL!.

Fun piece of folklore, the Algol 68C project was initially led by
Stephen Bourne of Bourne shell fame.

At around the same time Algol-W was the language used for teaching a
lot of things, including the details of how subroutines and local variables
behaved written in baroque terms based around text substitutions in the
source code.

--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/

Thomas Koenig

unread,
Sep 2, 2022, 1:04:50 PM9/2/22
to
Ahem A Rivet's Shot <ste...@eircom.net> schrieb:

> Fun piece of folklore, the Algol 68C project was initially led by
> Stephen Bourne of Bourne shell fame.

Looking at the syntax of the Bourne shell (and the style it was
written originally, with #defines making C into something much
resembling Algol) I certainly can believe that.

Louis Krupp

unread,
Sep 2, 2022, 2:05:09 PM9/2/22
to
Burroughs Extended ALGOL borrowed formatting from FORTRAN, changing
FORMAT statements to FORMAT declarations. It seemed natural and obvious
at the time; it would be surprising -- and unfortunate -- if no other
ALGOL implementations did something similar.

>
>
>> Burroughs Extended ALGOL and Large Systems' architecture were said to
>> have been designed together; I attended a few Burroughs users'
>> conferences until about 1982, and portability of source programs to
>> other systems was a concept I never heard discussed.
>>
>> I would guess that most users of Burroughs Extended ALGOL had no idea
>> that the language had a history outside Burroughs and that things
>> called ALGOL-58 and ALGOL-60 existed. I certainly didn't have a clue.
>
> There were Algol compilers for many different architectures.  For
> example, the Univac 1100 series actually had two different ones. Lack
> of compilers wasn't a major factor in Algol's lack of popularity.

Burroughs users tended to be an insular bunch, and I was no exception. I
recall one users conference attendee saying "If my firm changes systems,
I'll change firms." I never imagined that I'd ever be working on
anything else.

<snip>

Louis

Stephen Fuld

unread,
Sep 2, 2022, 2:16:29 PM9/2/22
to
I don't know about any other Algol implementations, but Pascal certainly
made a different choice.


>>
>>> Burroughs Extended ALGOL and Large Systems' architecture were said to
>>> have been designed together; I attended a few Burroughs users'
>>> conferences until about 1982, and portability of source programs to
>>> other systems was a concept I never heard discussed.
>>>
>>> I would guess that most users of Burroughs Extended ALGOL had no idea
>>> that the language had a history outside Burroughs and that things
>>> called ALGOL-58 and ALGOL-60 existed. I certainly didn't have a clue.
>>
>> There were Algol compilers for many different architectures.  For
>> example, the Univac 1100 series actually had two different ones. Lack
>> of compilers wasn't a major factor in Algol's lack of popularity.
>
> Burroughs users tended to be an insular bunch, and I was no exception. I
> recall one users conference attendee saying "If my firm changes systems,
> I'll change firms." I never imagined that I'd ever be working on
> anything else.

I think that wasn't uncommon with programmers of many different systems.
The mainframes, and even mini-computer systems from different
manufacturers were so different from each other that once you spent a
lot of time and energy learning one, you were reluctant to "waste" all
the learning.

Andy Walker

unread,
Sep 2, 2022, 2:55:59 PM9/2/22
to
On 02/09/2022 19:16, Stephen Fuld wrote:
> On 9/2/2022 11:05 AM, Louis Krupp wrote:
>> Burroughs Extended ALGOL borrowed formatting from FORTRAN, changing
>> FORMAT statements to FORMAT declarations. It seemed natural and
>> obvious at the time; it would be surprising -- and unfortunate --
>> if no other ALGOL implementations did something similar.
> I don't know about any other Algol implementations, but Pascal
> certainly made a different choice.

Algol went from essentially nothing in Algol 60 to a full-
blown I/O model including heavy-duty formats [inc declarations and
variables] in Algol 68.

I suspect that both Pascal and Algol 68 would have looked at
least somewhat different if their designers could have peeked into the
future and seen how C did it -- and if the designers of C could have
peeked into the past to see how Algol did it after that peek. [Sorry
about the recursion!]

I'll leave Pascal to its enthusiasts [if any], but one of the
problems [and perhaps the most serious] with Algol 68 was the fact
that formats were introduced as a whole new raft of syntax [somewhere
around a third of the entire language]. C showed that formatted I/O
could be done with no new syntax, just a handful of procedure calls
built around a small number of primitives and using strings for the
formats; further, the C model of files as streams of bytes is much
simpler than the Algol model of books with pages and lines [no matter
how well that matched the hardware of the period]. If Algol had
learned that lesson from C, C might then have learned from Algol
how to do unformatted I/O more easily. Win-win. But we can't go
back in time that way.

--
Andy Walker, Nottingham.
Andy's music pages: www.cuboid.me.uk/andy/Music
Composer of the day: www.cuboid.me.uk/andy/Music/Composers/Morel

Peter Flass

unread,
Sep 2, 2022, 6:25:09 PM9/2/22
to
Thomas Koenig <tko...@netcologne.de> wrote:
> Louis Krupp <lkr...@invalid.pssw.com.invalid> schrieb:
>> See the second column on the first page:
>>
>> https://dl.acm.org/doi/pdf/10.1145/365230.365233
>
> Lack of standardized I/O was a huge design flaw, each compiler
> had to roll its own, so there was no portability across systems.

On the other hand, in reality simple I/O is pretty common across systems:
read a line/write a line, etc. It’s only the more exotic operations that
differ. If I were writing an ALGOL compiler I’d look at what the other guys
did and imitate it, as compatibly as possible.

>
> Kernighan wrote this in "UNIX: A History and a Memoir" that there
> are three possibilities of doing I/O in a langue: Integrated into
> the language itself (Fortran, Pascal), implemented in a library (C)
> or not specifyling this at all. The last he called (from memory)
> the least desirable option.
>
> And FORTRAN was not only groundbreaking in optimization and writing
> formulas in a "natural" way. Its I/O was also radical and new,
> the FORMAT statement was a big innovation.
>



--
Pete

Peter Flass

unread,
Sep 2, 2022, 6:25:10 PM9/2/22
to
PL/I is pretty compatible. I regularly compile programs written in PL/I(F)
and 2.3 with Iron Spring PL/I with minimal changes. OS/2 and Windows PL/I
took some of the I/O off in a different direction, so I have a couple of
things I wrote for OS/2 that are going to need some more work.

--
Pete

Peter Flass

unread,
Sep 2, 2022, 6:25:11 PM9/2/22
to
Univac went completely off the deep end. They had at least two 1100 COBOL
compilers, too.

--
Pete

Andrew

unread,
Sep 3, 2022, 2:49:48 AM9/3/22
to
That's an outsiders view, if you knew the reasons it made perfect sense.

The 1100/2200 side has two addressing modes, the original one dating
back to the post-Noah's Ark cleanup (Basic Mode), and one which I first
noticed in the 1980s (Extended Mode, aka UCS). UCS allows you to access
far more memory than BM does, BM has no problems with instructions but
the amount of data you can have visible is really limited by today's
standards.

Univac also started off with a 6-bit character set called Fieldata.

- COB (or FCOB not sure) - BM, Fieldata
- ACOB - BM, Ascii but can handle Fieldata
- UCOB - EM/UCS, Ascii with rudimentary Fdata capabilities
- OO-COB - EM/UCS with an IDE, I never used it.
The various compilers also implement different COBOL standards, I
believe OO-COB no longer understands the ALTER command for instance.

Interaction between BM and EM/UCS is "difficult", switching between the
two requires the use of MASM (assembler). MASM is also the only program
which can generate BM code and UCS code, or a mixture of the two.

Converting ACOB programs to UCOB can be trivial or it can be fraught -
depending on the use of certain features by the programmer, there is
also a compatability mode you can use.

Robin Vowels

unread,
Sep 3, 2022, 3:41:25 AM9/3/22
to
.
On the contrary, the rules were simpler than for FORTRAN.
1. functions were generic. No need to bother with single and double precision
versions of the arithmetic and trig functions.
2. DO-loops had no restrictions on initial, final, and increment values;
no subset of expressions for these entities;
and loops could be executed zero or more times.
3. No restrictions on the complexity of subscript values;
4. Dynamic arrays -- no mucking about with "adjustable dimensions".
5. Clean interpretation of format specifications.
6. expressions allowed for field width of format items, etc
7. recursion allowed.
8. Real character strings, not fakes ones known as Hollerith constants.
9. Not necessary to count the characters in character constants.
10. arguments automatically checked for compatibility with corresponding
parameters on procedure calls.
11. arguments that are constants cannot be corrupted by assignment to
the corresponding parameter.
12. Single _AND_ double-precision complex.
There's more.
.
> Early compilers didn't do too well. I believe it never gained much
> popularity outside of IBM, and even there its success was "modest".
.
PL/C was a pretty good implementation, and fast .
Other non-IBM PL/I compilers included those for
CDC, Univac, Burroughs, and on micros DR PL/I, Q1/Lite PL/I.

Peter Flass

unread,
Sep 3, 2022, 9:53:43 AM9/3/22
to
Robin Vowels <robin....@gmail.com> wrote:

> PL/C was a pretty good implementation, and fast .
> Other non-IBM PL/I compilers included those for
> CDC, Univac, Burroughs, and on micros DR PL/I, Q1/Lite PL/I.
>

Bitsavers has almost nothing on the Q1/Lite. if you, or anyone else, has
anything on this system it would be interesting to upload it.

--
Pete

Paul Kimpel

unread,
Sep 3, 2022, 1:16:11 PM9/3/22
to
On 9/2/2022 11:05 AM, Louis Krupp wrote:
> On 9/2/2022 9:00 AM, Stephen Fuld wrote:
>> On 9/1/2022 11:11 PM, Louis Krupp wrote:
>>> On 9/1/2022 4:13 PM, Peter Flass wrote:
>>>> Louis Krupp <lkr...@invalid.pssw.com.invalid> wrote:
>>>>> See the second column on the first page:
>>>>>
>>>>> https://dl.acm.org/doi/pdf/10.1145/365230.365233
>>>> Yes, and? B5500 ALGOL was a very good implementation of
>>>> ALGOL-58, except that stream procedures bypassed all the
>>>> hardware protection mechanisms. I think Burroughs fixed this on
>>>> later machines. ALGOL was later sunk by the development of
>>>> ALGOL-68, which (AIUI) was more different from ALGOL-60 than
>>>> C++ is from C.

No, B5000 and B5500 ALGOL were implementations of ALGOL-60, not
ALGOL-58, but the hardware and compiler were designed and implemented
before the Revised Report was published in January 1963.

Burroughs 220 BALGOL was closely based on ALGOL-58 (although it wasn't
called that originally -- it was the International Algorithmic Language,
or IAL). ALGOL-58 was never a real language design, just a progress
report on the work that eventually produced ALGOL-60.
>>>
>>> Stream procedures could manipulate words that had the flag bit
>>> set, and to the best of my recollection, that's the only hardware
>>> protection the B5500 had. The Large System series -- the
>>> B6500/6700 on up -- had a more complete capability architecture
>>> with three tag bits, and compilers that generated user programs
>>> wouldn't emit operators that would touch words with odd tags.
>>>
>>> As a teenage nerd, I thought stream procedures were the coolest
>>> thing ever.

Yes, Stream Procedures were very cool, and very useful, and very, very
dangerous. They were included in Burroughs Extended ALGOL to give access
to the B5000's Character Mode instructions, which had been a (somewhat
panicked) late addition to the architecture to support the large market
that Burroughs had in commercial business applications, and to support
the then very-new language COBOL. Bypassing hardware-enforced memory
protection was the price for that addition.

The B6500/6700/7700 did indeed fix the lack of memory protection with
the B5000/5500s Character Mode. It also fixed what I think was a more
serious ALGOL-related problem -- the inability of the B5000/5500 to
address intermediate nested scopes in a program. The older machine could
only address the global (outer block) variables and those in the current
local procedure. The hardware simply didn't have the ability to address
any nesting levels between those two.
>>>
>>> If Burroughs Large Systems -- or their Unisys successors -- had
>>> attracted more users, especially at universities, there might
>>> have been a reason to design a practical and portable version of
>>> ALGOL.
>>
>> Given that the original Algol didn't specify any I/O, so each
>> implementation did their own, it was hard to be portable. In fact
>> one "definition" of Pascal, was Algol plus I/O.
>
> Burroughs Extended ALGOL borrowed formatting from FORTRAN, changing
> FORMAT statements to FORMAT declarations. It seemed natural and
> obvious at the time; it would be surprising -- and unfortunate -- if
> no other ALGOL implementations did something similar.

Actually, the B5000/5500's formatting came from 220 BALGOL and was no
doubt heavily influenced by FORTRAN, although FORMAT declarations in
B5000 Extended ALGOL were certainly made more FORTRAN-like than they
were in BALGOL.

In the original B5000 ALGOL implementation, formatted I/O was the only
kind available. There was an ability to do unformatted reads and writes
via the RELEASE statement, but that manipulated physical buffers, much
like Direct I/O does on the later systems, and required the use of
Stream Procedures to access the data. The "array-row I/O" we all know
didn't arrive until the MCP was rewritten (in a higher-level language,
ESPOL) for the B5500.
>
>>
>>
>>> Burroughs Extended ALGOL and Large Systems' architecture were
>>> said to have been designed together; I attended a few Burroughs
>>> users' conferences until about 1982, and portability of source
>>> programs to other systems was a concept I never heard discussed.
>>>
>>> I would guess that most users of Burroughs Extended ALGOL had no
>>> idea that the language had a history outside Burroughs and that
>>> things called ALGOL-58 and ALGOL-60 existed. I certainly didn't
>>> have a clue.
>>
>> There were Algol compilers for many different architectures. For
>> example, the Univac 1100 series actually had two different ones.
>> Lack of compilers wasn't a major factor in Algol's lack of
>> popularity.

Let's not forget that there were two ALGOL compilers for the B5500 as
well, the original Extended ALGOL with Stream Procedures (plus several
other extensions with which you could undo both yourself and the system
if used improperly), and Compatible ALGOL (or XALGOL), which was
designed to be much safer to use, especially with timesharing systems,
and which would be much easier to port to the upcoming B6500. It used
the syntax that had been developed to support the B6500's string
operators, but was implemented for the B5500 by means of intrinsic
functions.

Let's also remember that the B5500 had two COBOL compilers -- the
original COBOL-61 and the later ANSI COBOL-68 compiler. So Univac's sins
in that regard, as mentioned in a later post to this thread, were hardly
unique.
>
> Burroughs users tended to be an insular bunch, and I was no
> exception. I recall one users conference attendee saying "If my firm
> changes systems, I'll change firms." I never imagined that I'd ever
> be working on anything else.
>
> <snip>
>
> Louis


Paul

Paul Kimpel

unread,
Sep 3, 2022, 1:25:31 PM9/3/22
to
-------- Original Message --------
Subject: Re: "In Defense of ALGOL"
From: Peter Flass <peter...@yahoo.com>
To:
Date: Fri Sep 02 2022 15:25:08 GMT-0700 (Pacific Daylight Time)

> Thomas Koenig <tko...@netcologne.de> wrote:
>> Louis Krupp <lkr...@invalid.pssw.com.invalid> schrieb:
>>> See the second column on the first page:
>>>
>>> https://dl.acm.org/doi/pdf/10.1145/365230.365233
>>
>> Lack of standardized I/O was a huge design flaw, each compiler
>> had to roll its own, so there was no portability across systems.
>
> On the other hand, in reality simple I/O is pretty common across systems:
> read a line/write a line, etc. It’s only the more exotic operations that
> differ. If I were writing an ALGOL compiler I’d look at what the other guys
> did and imitate it, as compatibly as possible.

Which is pretty much what Burroughs did with the B5000/5500. Admittedly
it was FORTRAN-like, but that was the market they had to compete in. If
there ever was a "market" for ALGOL implementations, it certainly didn't
exist in the U.S. in the early 1960s.
>
>>
>> Kernighan wrote this in "UNIX: A History and a Memoir" that there
>> are three possibilities of doing I/O in a langue: Integrated into
>> the language itself (Fortran, Pascal), implemented in a library (C)
>> or not specifyling this at all. The last he called (from memory)
>> the least desirable option.
>>
>> And FORTRAN was not only groundbreaking in optimization and writing
>> formulas in a "natural" way. Its I/O was also radical and new,
>> the FORMAT statement was a big innovation

Paul

Charlie Gibbs

unread,
Sep 3, 2022, 4:16:16 PM9/3/22
to
On 2022-09-03, Paul Kimpel <paul....@digm.com> wrote:

> Let's also remember that the B5500 had two COBOL compilers -- the
> original COBOL-61 and the later ANSI COBOL-68 compiler. So Univac's sins
> in that regard, as mentioned in a later post to this thread, were hardly
> unique.

Nor were Univac's "sins" unique to their 1100 series. The 90/30
(whose non-privileged instruction set was a clone of the IBM 360/50)
had three COBOL compilers: Basic COBOL, Extended COBOL, and COBOL-74.

In either case, though, I don't consider it a sin to release
a compiler that supports a later version of a language, while
retaining the old one for compatibility.

--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <cgi...@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.

Rich Alderson

unread,
Sep 3, 2022, 8:42:05 PM9/3/22
to
Robin Vowels <robin....@gmail.com> writes:


> PL/C was a pretty good implementation, and fast .
> Other non-IBM PL/I compilers included those for
> CDC, Univac, Burroughs, and on micros DR PL/I, Q1/Lite PL/I.

I'm surprised that no one has mentioned the GE/Honeywell PL/I compiler which
was used as the implementation language for much of Multics...

--
Rich Alderson ne...@alderson.users.panix.com
Audendum est, et veritas investiganda; quam etiamsi non assequamur,
omnino tamen proprius, quam nunc sumus, ad eam perveniemus.
--Galen

John Levine

unread,
Sep 3, 2022, 10:28:20 PM9/3/22
to
According to Rich Alderson <ne...@alderson.users.panix.com>:
>Robin Vowels <robin....@gmail.com> writes:
>
>
>> PL/C was a pretty good implementation, and fast .
>> Other non-IBM PL/I compilers included those for
>> CDC, Univac, Burroughs, and on micros DR PL/I, Q1/Lite PL/I.
>
>I'm surprised that no one has mentioned the GE/Honeywell PL/I compiler which
>was used as the implementation language for much of Multics...

That was the Frebourghouse compiler.

Its front end was used for variety of other PL/I compilers such as the DEC VAX
one described in Engineering a Compiler

https://openlibrary.org/books/OL3489906M/Engineering_a_compiler

--
Regards,
John Levine, jo...@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly

Quadibloc

unread,
Sep 5, 2022, 7:50:00 AM9/5/22
to
On Friday, September 2, 2022 at 12:05:09 PM UTC-6, Louis Krupp wrote:

> Burroughs Extended ALGOL borrowed formatting from FORTRAN, changing
> FORMAT statements to FORMAT declarations. It seemed natural and obvious
> at the time; it would be surprising -- and unfortunate -- if no other
> ALGOL implementations did something similar.

I think that Algol W also borrowed formatting from FORTRAN, although perhaps
not in the same way that Burroughs Extended ALGOL did that.

_Some_ implementations of ALGOL, including IBM's implementation for the
System/360, annoyed potential users by not using reserved words (as Algol W
did) but instead requiring that all keywords in the language be enclosed in
single quotes. I think that may be underrated as a cause for the failure of the
language to be widely adopted.

It _also_ didn't help that the publication language, at least, had a character set
which included a lot of characters most machines didn't have. Some Russian
machines, the IBM STRETCH, and some British machines were among the very
few exceptions.

John Savard

Peter Flass

unread,
Sep 5, 2022, 8:11:20 PM9/5/22
to
Quadibloc <jsa...@ecn.ab.ca> wrote:
> On Friday, September 2, 2022 at 12:05:09 PM UTC-6, Louis Krupp wrote:
>
>> Burroughs Extended ALGOL borrowed formatting from FORTRAN, changing
>> FORMAT statements to FORMAT declarations. It seemed natural and obvious
>> at the time; it would be surprising -- and unfortunate -- if no other
>> ALGOL implementations did something similar.
>
> I think that Algol W also borrowed formatting from FORTRAN, although perhaps
> not in the same way that Burroughs Extended ALGOL did that.
>
> _Some_ implementations of ALGOL, including IBM's implementation for the
> System/360, annoyed potential users by not using reserved words (as Algol W
> did) but instead requiring that all keywords in the language be enclosed in
> single quotes. I think that may be underrated as a cause for the failure of the
> language to be widely adopted.

I think it would be hard to underrate that as a factor, at least as far as
IBM’s ALGOL is concerned. ;-)

>
> It _also_ didn't help that the publication language, at least, had a character set
> which included a lot of characters most machines didn't have. Some Russian
> machines, the IBM STRETCH, and some British machines were among the very
> few exceptions.
>
> John Savard
>



--
Pete

Robin Vowels

unread,
Sep 5, 2022, 9:44:38 PM9/5/22
to
On Monday, September 5, 2022 at 9:50:00 PM UTC+10, Quadibloc wrote:
> On Friday, September 2, 2022 at 12:05:09 PM UTC-6, Louis Krupp wrote:
>
> > Burroughs Extended ALGOL borrowed formatting from FORTRAN, changing
> > FORMAT statements to FORMAT declarations. It seemed natural and obvious
> > at the time; it would be surprising -- and unfortunate -- if no other
> > ALGOL implementations did something similar.
> I think that Algol W also borrowed formatting from FORTRAN, although perhaps
> not in the same way that Burroughs Extended ALGOL did that.
>
> _Some_ implementations of ALGOL, including IBM's implementation for the
> System/360, annoyed potential users by not using reserved words (as Algol W
> did) but instead requiring that all keywords in the language be enclosed in
> single quotes. I think that may be underrated as a cause for the failure of the
> language to be widely adopted.
.
I think that most implementations used apostrophes to delimit keywords.
.
> It _also_ didn't help that the publication language, at least, had a character set
> which included a lot of characters most machines didn't have.
.
The publication language was just that: a publication language.
It used upper and lower case, with boldface keywords, and special characters.
In 1960, most line printers offered upper case only, digits, and a limited
range of special characters.
That didn't change much for a couple of decades.
Printing terminals did offer upper and lower case, including
the ASR-38, Memorex, GE Terminet, Diablo, and the Friden flexowriter,
the latter going a lot closer to the publication language.

Bravosi

unread,
Sep 6, 2022, 8:21:53 AM9/6/22
to
On 9/1/22 19:58, Quadibloc wrote:
> On Thursday, September 1, 2022 at 4:13:14 PM UTC-6, Peter Flass wrote:
>> ALGOL was later sunk by the
>> development of ALGOL-68, which (AIUI) was more different from ALGOL-60 than
>> C++ is from C.
>
> I have to agree that Algol-68 sank Algol. I had thought that the reason for that,
> aside from silly things like case ... esac, was that implementing Algol-68 was
> somewhat beyond the state of the art at the time.
>
> That doesn't mean that there were _no_ implementations, just that many who
> might have implemented an update to Algol did not feel themselves qualified
> to produce an adequate implementation.
>
> Of course, the world could have just ignored Algol-68, and stuck with Algol-60,
> perhaps with slight tweaks and improvements. What closed off _that_ line of
> development was...
>
> Pascal.
>
> John Savard

Pascal is still widely used. Tiobe Index is _not_ a very accurate
indicator of its market share. If I had to guesstimate I would say that
Pascal, Delphi, et al. are usually 2-3 slots higher on the index in reality.

The highly-paid engineers who use Pascal, Ada, and other Wirthian
languages do not frequent Internet forums promoting their design
choices. They are too busy making money to care what nerd wanks and
stack monkeys think.

I have been building Pascal libraries that I expect will still be usable
in 15-20 years. Can we say that of the 'popular' nerd languages? How
long will it be before Python breaks again? I have Pascal code bases
that are 15+ years old that still compile and run bug-free on modern
hardware.

The only thing missing from modern Pascal compilers is facilities for
directly accessing all hardware interfaces, like in C. If that facility
were baked in a lot of C programmers would switch. I would love to be
able to gin up bootloaders and microkernels with a standard Pascal-like
syntax.

Wirth's vision of Algol wins. Anyway that's my nickle's wirth.

--

Bravosi

Charlie Gibbs

unread,
Sep 6, 2022, 12:04:01 PM9/6/22
to
On 2022-09-06, Bravosi <sy...@for.ell> wrote:

> I have been building Pascal libraries that I expect will still be usable
> in 15-20 years. Can we say that of the 'popular' nerd languages? How
> long will it be before Python breaks again? I have Pascal code bases
> that are 15+ years old that still compile and run bug-free on modern
> hardware.

I'm still maintaining the C code base that I wrote 30 years ago.
It compiles and runs on both Windows and Linux. I haven't seen
an SCO system for some time but it should still run there too.

> The only thing missing from modern Pascal compilers is facilities for
> directly accessing all hardware interfaces, like in C. If that facility
> were baked in a lot of C programmers would switch. I would love to be
> able to gin up bootloaders and microkernels with a standard Pascal-like
> syntax.

Sounds like a worthwhile enhancement (if it's done right).
For me it's academic - I've never liked Wirthian languages -
but it sounds long overdue.

> Wirth's vision of Algol wins. Anyway that's my nickle's wirth.

Ah, you call him by value. :-)

Peter Flass

unread,
Sep 6, 2022, 2:31:42 PM9/6/22
to
Robin Vowels <robin....@gmail.com> wrote:
> On Monday, September 5, 2022 at 9:50:00 PM UTC+10, Quadibloc wrote:
>> On Friday, September 2, 2022 at 12:05:09 PM UTC-6, Louis Krupp wrote:
>>
>>> Burroughs Extended ALGOL borrowed formatting from FORTRAN, changing
>>> FORMAT statements to FORMAT declarations. It seemed natural and obvious
>>> at the time; it would be surprising -- and unfortunate -- if no other
>>> ALGOL implementations did something similar.
>> I think that Algol W also borrowed formatting from FORTRAN, although perhaps
>> not in the same way that Burroughs Extended ALGOL did that.
>>
>> _Some_ implementations of ALGOL, including IBM's implementation for the
>> System/360, annoyed potential users by not using reserved words (as Algol W
>> did) but instead requiring that all keywords in the language be enclosed in
>> single quotes. I think that may be underrated as a cause for the failure of the
>> language to be widely adopted.
> .
> I think that most implementations used apostrophes to delimit keywords.

No other implementation I ever saw, admittedly only a few: mostly Burroughs
and Algol W - just looked at HP - and maybe a couple of others. That alone
would make me never want to get near the language, it seems like a recipe
for disaster.

--
Pete

Peter Flass

unread,
Sep 6, 2022, 2:31:44 PM9/6/22
to
Same with PL/I. Programs from 1964 still compile, with minimal changes, and
run.

>
> The only thing missing from modern Pascal compilers is facilities for
> directly accessing all hardware interfaces, like in C. If that facility
> were baked in a lot of C programmers would switch. I would love to be
> able to gin up bootloaders and microkernels with a standard Pascal-like
> syntax.
>

Multics PL/I was a good example of this.

--
Pete

Peter Flass

unread,
Sep 6, 2022, 2:31:45 PM9/6/22
to
Charlie Gibbs <cgi...@kltpzyxm.invalid> wrote:
> On 2022-09-06, Bravosi <sy...@for.ell> wrote:
>
>> I have been building Pascal libraries that I expect will still be usable
>> in 15-20 years. Can we say that of the 'popular' nerd languages? How
>> long will it be before Python breaks again? I have Pascal code bases
>> that are 15+ years old that still compile and run bug-free on modern
>> hardware.
>
> I'm still maintaining the C code base that I wrote 30 years ago.
> It compiles and runs on both Windows and Linux. I haven't seen
> an SCO system for some time but it should still run there too.
>
>> The only thing missing from modern Pascal compilers is facilities for
>> directly accessing all hardware interfaces, like in C. If that facility
>> were baked in a lot of C programmers would switch. I would love to be
>> able to gin up bootloaders and microkernels with a standard Pascal-like
>> syntax.
>
> Sounds like a worthwhile enhancement (if it's done right).
> For me it's academic - I've never liked Wirthian languages -
> but it sounds long overdue.

PL\360 is an early example, Algol-like syntax and complete access to
hardware. Wirth used it to write Algol W. The first time I saw the source I
thought it WAS ALGOL.

>
>> Wirth's vision of Algol wins. Anyway that's my nickle's wirth.
>
> Ah, you call him by value. :-)
>



--
Pete

Ahem A Rivet's Shot

unread,
Sep 6, 2022, 3:30:03 PM9/6/22
to
On Mon, 5 Sep 2022 18:44:37 -0700 (PDT)
Robin Vowels <robin....@gmail.com> wrote:

> I think that most implementations used apostrophes to delimit keywords.

With Algol 68 I came across stropping by quotes, case or underline,
that was where I started to think there was a design problem.

Charlie Gibbs

unread,
Sep 6, 2022, 7:50:38 PM9/6/22
to
On 2022-09-06, Peter Flass <peter...@yahoo.com> wrote:

> Robin Vowels <robin....@gmail.com> wrote:
>
>> On Monday, September 5, 2022 at 9:50:00 PM UTC+10, Quadibloc wrote:
>>
>>> On Friday, September 2, 2022 at 12:05:09 PM UTC-6, Louis Krupp wrote:
>>>
>>>> Burroughs Extended ALGOL borrowed formatting from FORTRAN, changing
>>>> FORMAT statements to FORMAT declarations. It seemed natural and obvious
>>>> at the time; it would be surprising -- and unfortunate -- if no other
>>>> ALGOL implementations did something similar.
>>>
>>> I think that Algol W also borrowed formatting from FORTRAN, although
>>> perhaps not in the same way that Burroughs Extended ALGOL did that.
>>>
>>> _Some_ implementations of ALGOL, including IBM's implementation for the
>>> System/360, annoyed potential users by not using reserved words (as Algol W
>>> did) but instead requiring that all keywords in the language be enclosed in
>>> single quotes. I think that may be underrated as a cause for the failure of
>>> the language to be widely adopted.
>>
>> I think that most implementations used apostrophes to delimit keywords.
>
> No other implementation I ever saw, admittedly only a few: mostly Burroughs
> and Algol W - just looked at HP - and maybe a couple of others. That alone
> would make me never want to get near the language, it seems like a recipe
> for disaster.

I agree. At university we were exposed to Algol 60, Algol 68, Algol W,
and pl360 (which I liked to refer to as the misbegotten bastard child
of Algol and assembly language). Putting apostrophes around every keyword
seemed like a particularly clumsy thing to do. I never did get an Algol
program to work; I gratefully retreated to assembly language (plus a
real-world mix of RPG and COBOL), where I happily stayed until C came
along. I've never liked Wirthian "bondage and discipline" languages.

Quadibloc

unread,
Sep 6, 2022, 10:54:16 PM9/6/22
to
On Tuesday, September 6, 2022 at 6:21:53 AM UTC-6, Bravosi wrote:
> On 9/1/22 19:58, Quadibloc wrote:

> > Of course, the world could have just ignored Algol-68, and stuck with Algol-60,
> > perhaps with slight tweaks and improvements. What closed off _that_ line of
> > development was...
> >
> > Pascal.

> Pascal is still widely used.

What I had written was not intended to imply otherwise.

Precisely because Pascal became very popular, and offered everything
that Algol-60 did, with important additions, the alternative of sticking with
Algol-60 instead, if one didn't like Algol-68, wasn't a common choice.

John Savard

Quadibloc

unread,
Sep 6, 2022, 10:58:36 PM9/6/22
to
On Tuesday, September 6, 2022 at 12:31:42 PM UTC-6, Peter Flass wrote:
> Robin Vowels <robin....@gmail.com> wrote:
> > On Monday, September 5, 2022 at 9:50:00 PM UTC+10, Quadibloc wrote:

> >> _Some_ implementations of ALGOL, including IBM's implementation for the
> >> System/360, annoyed potential users by not using reserved words (as Algol W
> >> did) but instead requiring that all keywords in the language be enclosed in
> >> single quotes. I think that may be underrated as a cause for the failure of the
> >> language to be widely adopted.

> > I think that most implementations used apostrophes to delimit keywords.

> No other implementation I ever saw, admittedly only a few: mostly Burroughs
> and Algol W - just looked at HP - and maybe a couple of others. That alone
> would make me never want to get near the language, it seems like a recipe
> for disaster.

I'm not too familiar with the other examples, but I think some early ones for British
computers were like that.

John Savard

Robin Vowels

unread,
Sep 7, 2022, 12:45:08 AM9/7/22
to
On Wednesday, September 7, 2022 at 5:30:03 AM UTC+10, Ahem A Rivet's Shot wrote:
> On Mon, 5 Sep 2022 18:44:37 -0700 (PDT)
> Robin Vowels <robin....@gmail.com> wrote:
>
> > I think that most implementations used apostrophes to delimit keywords.
.
I was referring to punch card versions.
We had an Elliott paper tape version and an ICL card version.

Robin Vowels

unread,
Sep 7, 2022, 12:49:23 AM9/7/22
to
On Wednesday, September 7, 2022 at 12:54:16 PM UTC+10, Quadibloc wrote:
> On Tuesday, September 6, 2022 at 6:21:53 AM UTC-6, Bravosi wrote:
> > On 9/1/22 19:58, Quadibloc wrote:
>
> > > Of course, the world could have just ignored Algol-68, and stuck with Algol-60,
> > > perhaps with slight tweaks and improvements. What closed off _that_ line of
> > > development was...
> > >
> > > Pascal.
> > Pascal is still widely used.
> What I had written was not intended to imply otherwise.
>
> Precisely because Pascal became very popular, and offered everything
> that Algol-60 did,
.
It didn't really. It didn't have exponentiation operator,
and some of the I/O operations never worked properly
on cards.
.

Robin Vowels

unread,
Sep 7, 2022, 1:10:01 AM9/7/22
to
On Sunday, September 4, 2022 at 10:42:05 AM UTC+10, Rich Alderson wrote:
> Robin Vowels <robin....@gmail.com> writes:
>
>
> > PL/C was a pretty good implementation, and fast .
> > Other non-IBM PL/I compilers included those for
> > CDC, Univac, Burroughs, and on micros DR PL/I, Q1/Lite PL/I.
> I'm surprised that no one has mentioned the GE/Honeywell PL/I compiler which
> was used as the implementation language for much of Multics...
.
OK, other implementations of PL/I language included
IBM Series/1, Burroughs B 6700 / B 7700, CDC Cyber 70, 170, 6000,
Data General Eclipse, DEC System 10 and 20, Honeywell 66/6000,
Q1 Corporation Q1/LMC and Q1/Lite, PLUM, SP/k compilers,
PLAGO, Student PL/I, IBM 1130, CIMS PL/I, Olivetti A7, DR PL/I,
Wang PL/I.
(In addition to the above GE/Honeywell PL/I, of course).
.
IBM produced the PL/I-F compiler for OS/360, and the PL/I-D compiler for smaller
machines using DOS, and the PL/I Checkout and Optimising compilers,
plus a number of others since.

John Levine

unread,
Sep 7, 2022, 4:41:24 AM9/7/22
to
According to Quadibloc <jsa...@ecn.ab.ca>:
>_Some_ implementations of ALGOL, including IBM's implementation for the
>System/360, annoyed potential users by not using reserved words (as Algol W
>did) but instead requiring that all keywords in the language be enclosed in
>single quotes. I think that may be underrated as a cause for the failure of the
>language to be widely adopted.

IBM Algol F seemed to me to be a product that existed purely so they could
check the box yes, we have Algol.

As distributed by IBM, every time your program entered a block it would do
a GETMAIN system call and a FREEMAIN when it left the block. Needless to
say that was a disaster for performance. Someone at Princeton patched it
to allocate and free in larger more sensible chunks.

The quoted keywords were the same sort of thing, technically correct and
horrible in practice.

Bob Eager

unread,
Sep 7, 2022, 6:56:55 AM9/7/22
to
The IMP language [1] (nothing to do with ARPAnet) developed at the
University of Edinburgh had a different stropping convention. This worked
well with the line reconstruction algorithm (inherited, sort of, from the
Compiler Compiler).

A reserved word started with a '%' character and ended with whitespace.
For example:

%begin ... %end

You could split words as long as the '%' character was introdiced, so:

%const %integer and %constinteger

were equivalent.

I know this because I have just written an IMP compiler.

[1] https://en.wikipedia.org/wiki/Edinburgh_IMP




--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org

Andy Walker

unread,
Sep 7, 2022, 7:54:11 AM9/7/22
to
On 07/09/2022 11:56, Bob Eager wrote:
> You could split words as long as the '%' character was introdiced, so:
> %const %integer and %constinteger
> were equivalent.

The Walgol* compiler went further and tried to be helpful by
completing words if it could. The trouble was that many of our students
couldn't spell, and "proceedure" turned into "procedure e do until real"
which was far more confusing than simply giving an error message in the
first place. It was a great relief when Algol 68 arrived, and the word
was spelled "proc", which even the wonkiest spellers could manage.
____
* I think it was Walgol, which we used for batch processing of student
jobs. But it could have been Egdon, which we also used at some stage.

--
Andy Walker, Nottingham.
Andy's music pages: www.cuboid.me.uk/andy/Music
Composer of the day: www.cuboid.me.uk/andy/Music/Composers/Couperin

Bill Findlay

unread,
Sep 7, 2022, 1:54:50 PM9/7/22
to
On 7 Sep 2022, Andy Walker wrote
(in article <tfa0ou$gq$1...@gioia.aioe.org>):

> The Walgol* compiler went further and tried to be helpful by
> completing words if it could. The trouble was that many of our students
> couldn't spell, and "proceedure" turned into "procedure e do until real"
> which was far more confusing than simply giving an error message in the
> first place. It was a great relief when Algol 68 arrived, and the word
> was spelled "proc", which even the wonkiest spellers could manage.
> ____
> * I think it was Walgol, which we used for batch processing of student
> jobs. But it could have been Egdon, which we also used at some stage.

Walgol? I think not, see:

> /Users/wf/KDF9/emulation/Testing: cat Whetstone/WALKER.a60
> WALKER|
> _b_e_g_i_n
> _p_r_o_c_e_e_d_u_r_e eh; ;
> _e_n_d
> |

> /Users/wf/KDF9/emulation/Testing: walgol WALKER
> This is ee9 9.0p, compiled by GNAT 12.1.0 on 2022-09-06.
> Running the KDF9 problem program Adjuncts/KMW0201--UPU in fast mode.
> ____________________________________________________________________
> [q]
> OUT;N.|
> ee9: OUT 5: requested a #02 type and got TR1 in Latin-1 mode.
> [m] WALKER|
> [m] FAIL
> [m] RAN/EL/000M01S/000M03S SIZE 2
> ____________________________________________________________________
> TP0: ===
> FAIL 126 LINE 2 DELIMITER ;
> RAN/EL/000M01S/000M03S SIZE 2
> ===
> /Users/wf/KDF9/emulation/Testing:

FAIL 126 is "illegal underlined word".

--
Bill Findlay

Rich Alderson

unread,
Sep 7, 2022, 3:49:08 PM9/7/22
to
Robin Vowels <robin....@gmail.com> writes:

> OK, other implementations of PL/I language included
[ snip ]
> DEC System 10 and 20
[ snip ]

Details?

I went from being a PL/I programmer on OS/360 to SVS to MVS, and latterly moved
to TOPS-20 on a DEC-20. The rest of my career (~40 years) was spent on the
latter architecture, and I've NEVER HEARD OF PL/I FOR THE PDP-10.

Had I know it existed, I'd have badgered management anywhere I worked for it.
Relentlessly.

Robin Vowels

unread,
Sep 7, 2022, 4:08:44 PM9/7/22
to
On Thursday, September 8, 2022 at 5:49:08 AM UTC+10, Rich Alderson wrote:
> Robin Vowels <robin....@gmail.com> writes:
>
> > OK, other implementations of PL/I language included
> [ snip ]
> > DEC System 10 and 20
> [ snip ]
>
> Details?
>
> I went from being a PL/I programmer on OS/360 to SVS to MVS, and latterly moved
> to TOPS-20 on a DEC-20. The rest of my career (~40 years) was spent on the
> latter architecture, and I've NEVER HEARD OF PL/I FOR THE PDP-10.
>
> Had I know it existed, I'd have badgered management anywhere I worked for it.
> Relentlessly.
.
You needed to ask for CPL.
The publication is decsystem10 Conversational Programming Language
User's Manual, DEC-10-LCPUA-A-D, 1975.

Peter Flass

unread,
Sep 7, 2022, 4:50:52 PM9/7/22
to
Rich Alderson <ne...@alderson.users.panix.com> wrote:
> Robin Vowels <robin....@gmail.com> writes:
>
>> OK, other implementations of PL/I language included
> [ snip ]
>> DEC System 10 and 20
> [ snip ]
>
> Details?
>
> I went from being a PL/I programmer on OS/360 to SVS to MVS, and latterly moved
> to TOPS-20 on a DEC-20. The rest of my career (~40 years) was spent on the
> latter architecture, and I've NEVER HEARD OF PL/I FOR THE PDP-10.
>
> Had I know it existed, I'd have badgered management anywhere I worked for it.
> Relentlessly.
>

I think it was under development, but I don’t think it was ever released.
Robin mentioned CPL, which was a conversational PL/I subset, like INM’s
CPL. I believe at least one of the LCM systems has it. I’d like to get the
source, although, being MACRO-10 it’s fairly useless, but I’ve never had
the time or energy to try to extract it.

--
Pete

Anne & Lynn Wheeler

unread,
Sep 7, 2022, 7:11:07 PM9/7/22
to
Quadibloc <jsa...@ecn.ab.ca> writes:
> Precisely because Pascal became very popular, and offered everything
> that Algol-60 did, with important additions, the alternative of sticking with
> Algol-60 instead, if one didn't like Algol-68, wasn't a common choice.

IBM Los Gatos VLSI lab was using Metaware's TWS for various projects
... some ref by Metaware's founders:
https://dl.acm.org/doi/pdf/10.1145/69622.357187

then the lab used it for ibm mainframe (370) pascal implementation that
they used for developing VLSI tools ... eventually it becomes VS/Pascal
and was used to implement original mainframe tcp/ip stack. I also used
it for a number of other internal applications and projects.

The IBM communication group was fiercely fighting off client/server and
distributed computing trying to preserve their dumb terminal paradigm
and install base ... and were also trying to block release of mainframe
tcp/ip ... when they lost that battle, they claimed that since the
communication group had corporate responsibility for everything that
crossed datacenter walls ... it had to be released through them. What
shipped got 44kbytes/sec aggregate using nearly whole 3090 processor.
I then did the "enhancements" to support RFC1044 and in some tuning
tests at cray research between ibm 4341 and cray, got 1mbyte aggregate
sustained using only modest amount of 4341 processor (something like
500 times improvement in bytes moved per instruction executed).

IBM Palo Alto was then doing a port of USC BSD to IBM mainframe and
needed a C compiler ... one of the LSG VLSI people responsible for
VS/Pascal was working on C language frontend for the VS/Pascal backend
.. but had recently left for Metaware ... and I got Palo Alto to get
mainframe C compiler from Metaware. Palo Alto was then directed to shift
and do the BSD port to IBM's PC/RT workstation ... and they got Metaware
to do a 801/RISC (ROMP) backend for the C compiler.

a couple past (a.f.c.) posts mentioning metaware
http://www.garlic.com/~lynn/2016c.html#62 Which Books Can You Recommend For Learning Computer Programming?
http://www.garlic.com/~lynn/2004d.html#71 What terminology reflects the "first" computer language ?

Then in the IBM troubles in the 1st half of the 90s, IBM was
transferring lots of VLSI tools to industry tool vendors (but they all
had to be ported to SUN since that was the industry standard
platform). I had already left IBM, but get an (IBM) contract to port
50,000 pascal statement VLSI physical layout app to SUN. In retrospect,
it would have been simpler to have rewritten in C ... I'm not sure that
SUN pascal had been used for anything other that entry computer
classes. While SUN hdqtrs was just down the road and easy to drop into
... SUN had outsourced their pascal support to an operation 12 time
zones away ... and everything took at least overnight.

--
virtualization experience starting Jan1968, online at home since Mar1970

Bob Eager

unread,
Sep 8, 2022, 6:01:13 AM9/8/22
to
On Wed, 07 Sep 2022 12:54:06 +0100, Andy Walker wrote:

> On 07/09/2022 11:56, Bob Eager wrote:
>> You could split words as long as the '%' character was introdiced, so:
>> %const %integer and %constinteger
>> were equivalent.
>
> The Walgol* compiler went further and tried to be helpful by
> completing words if it could. The trouble was that many of our students
> couldn't spell, and "proceedure" turned into "procedure e do until real"
> which was far more confusing than simply giving an error message in the
> first place. It was a great relief when Algol 68 arrived, and the word
> was spelled "proc", which even the wonkiest spellers could manage.

I learned Algol on an Elliott/ICL 4130. That had a 24 bit word and 6 bit
character code. The compiler only looked at the first four letters of a
(stropped) word. My dyslexic fellow postgrad always used 'UNTILL'.

Then we moved to a new machine and the excellent Edinburgh Algol. He had
a lot of editing to do.

Robin Vowels

unread,
Sep 8, 2022, 7:08:19 AM9/8/22
to
On Wednesday, September 7, 2022 at 3:10:01 PM UTC+10, Robin Vowels wrote:
> On Sunday, September 4, 2022 at 10:42:05 AM UTC+10, Rich Alderson wrote:
> > Robin Vowels <robin....@gmail.com> writes:
> >
> >
> > > PL/C was a pretty good implementation, and fast .
> > > Other non-IBM PL/I compilers included those for
> > > CDC, Univac, Burroughs, and on micros DR PL/I, Q1/Lite PL/I.
> > I'm surprised that no one has mentioned the GE/Honeywell PL/I compiler which
> > was used as the implementation language for much of Multics...
> .
> OK, other implementations of PL/I language included
> IBM Series/1, Burroughs B 6700 / B 7700, CDC Cyber 70, 170, 6000,
> Data General Eclipse, DEC System 10 and 20, Honeywell 66/6000,
> Q1 Corporation Q1/LMC and Q1/Lite, PLUM, SP/k compilers,
> PLAGO, Student PL/I, IBM 1130, CIMS PL/I, Olivetti A7, DR PL/I,
> Wang PL/I.
.
and Univac 1100 series, and 1106, 1108, and 1110.

Andy Walker

unread,
Sep 8, 2022, 7:13:43 AM9/8/22
to
On 07/09/2022 18:54, Bill Findlay wrote:
[I wrote:]
>> The Walgol* compiler went further and tried to be helpful by
>> completing words if it could. The trouble was that many of our students
>> couldn't spell, and "proceedure" turned into "procedure e do until real"
>> which was far more confusing than simply giving an error message in the
>> first place. [...]
> Walgol? I think not, see:
>> /Users/wf/KDF9/emulation/Testing: cat Whetstone/WALKER.a60
>> WALKER|
>> _b_e_g_i_n
>> _p_r_o_c_e_e_d_u_r_e eh; ;
>> _e_n_d
[...]
> FAIL 126 is "illegal underlined word".

OK, but:

(a) Is that the version of Walgol that we would have been using ~1970?
I can imagine that there would have been enough complaints that what
initially seemed a Good Idea would have been changed after a year or
two.

(b) We were using punched cards, no underline, so apostrophe stropping.
Might that make a difference? [We also didn't ever get things like
"FAIL 126" -- every compiler I have ever used gave proper error
messages! Unlike those editors which just say "?"!]

If neither (a) nor (b) applies, then the "blame" switches to Egdon ....

--
Andy Walker, Nottingham.
Andy's music pages: www.cuboid.me.uk/andy/Music
Composer of the day: www.cuboid.me.uk/andy/Music/Composers/Pridham

Bill Findlay

unread,
Sep 8, 2022, 8:51:34 AM9/8/22
to
On 8 Sep 2022, Andy Walker wrote
(in article <tfcioq$1a7n$1...@gioia.aioe.org>):

> On 07/09/2022 18:54, Bill Findlay wrote:
> [I wrote:]
> > > The Walgol* compiler went further and tried to be helpful by
> > > completing words if it could. The trouble was that many of our students
> > > couldn't spell, and "proceedure" turned into "procedure e do until real"
> > > which was far more confusing than simply giving an error message in the
> > > first place. [...]
> > Walgol? I think not, see:
> > > /Users/wf/KDF9/emulation/Testing: cat Whetstone/WALKER.a60
> > > WALKER|
> > > _b_e_g_i_n
> > > _p_r_o_c_e_e_d_u_r_e eh; ;
> > > _e_n_d
> [...]
> > FAIL 126 is "illegal underlined word".
>
> OK, but:
>
> (a) Is that the version of Walgol that we would have been using ~1970?

Perhaps there was a homemade variant.

> I can imagine that there would have been enough complaints that what
> initially seemed a Good Idea would have been changed after a year or
> two.
>
> (b) We were using punched cards, no underline, so apostrophe stropping.
> Might that make a difference? [We also didn't ever get things like
> "FAIL 126" -- every compiler I have ever used gave proper error
> messages! Unlike those editors which just say "?"!]
>
> If neither (a) nor (b) applies, then the "blame" switches to Egdon ....

I used EGDON ALGOL intensively. It did not do what you describe.

--
Bill Findlay

Rich Alderson

unread,
Sep 8, 2022, 4:55:54 PM9/8/22
to
Ah. CPL. I thought you meant a full PL/I compiler.

Never mind, thanks.
0 new messages