On Feb 15, 2025, at 11:24 PM, Steve Lewis via cctalk
<cctalk(a)classiccmp.org> wrote:
I'm not very familiar with ALGOL, but just today I met someone at VCF who
has essentially built a replica of the LGP-30 (in FPGA form, more on that
to come down the road, but it is a system from 1955/1956). Then related to
that, two different people mentioned to me of an early ALGOL compiler being
available for the LGP-30. I don't know if that was of a form to be
considered any kind of "block structure" as you mentioned.
It would be great to learn more about that. It's a rather early machine for ALGOL to
show up there, though a precedessor of ALGOL (IAL, "International Algebraic
Language") appeared in 1958. That was a bit of a mess and the 1960 Report on
ALGOL-60 is quite different. Apparently IAL served as the inspiration for JOVIAL, though
in my view the designer of JOVIAL clearly demonstrated that he didn't at all
understand the core principles of IAL or ALGOL.
A lot of early "ALGOL" compilers did major subsetting because it was considered
to hard to do the real language. Those subsets may not actually bear any real resemblance
to the actual language. For example, a "subset" that omits recursion is not
ALGOL but rather a mongrel joke.
One of the major contributions of Dijkstra and Zonneveld isn't just that they built
the first compiler for the full ALGOL-60, but that they invented all the major compiler
construction mechanisms to make that possible. This is analyzed very well and in
impressive detail in the Ph.D. Thesis of Gauthier van den Hove.
paul