From: | Glyn Webster <gdw@wave.co.nz> |
Newsgroups: | comp.compilers |
Date: | Mon, 30 Mar 2009 20:16:10 +1300 |
Organization: | Ihug Ltd |
References: | 09-03-091 09-03-093 09-03-096 09-03-097 09-03-100 |
Keywords: | algol60, history, comment |
Posted-Date: | 30 Mar 2009 08:56:47 EDT |
glen herrmannsfeldt wrote:
> Glyn Webster <gdw@wave.co.nz> wrote:
>
>> Not so, I've written an Algol-W compiler for
>> Linux which can be found here:
>
>> http://www.jampan.co.nz/~glyn/
>
>> So far it has one enthusiastic user who has brought
>> an Algol 68 compiler back to life with it.
>
>> [Well, whaddaya know. If you reincarnated PL360 then
>> I'd be really impressed. -John]
>
> Well, the PL/360 compiler and manual are available.
However, I'd have to implement a complete System/360 emulator to make the
thing of any use. I guess that would be the impressive part. Algol W was
original intended to be a successor to Algol 60, so it is mostly machine
independent - enough so to live happily in Linux.
> I also asked some people at Stanford before they dumped the whole tape
> library a few years ago. If there were any tapes, it seems that there
> wasn't anyone who knew which ones they were.
That's sad. I think there's still an Algol W compiler for MTS, which runs on
System/360 emulators. Someone emailed me the MTS manual volume for it.
> [Algol W was somewhere between Algol 60 and Pascal, with records and
> defined I/O, and no call by name. It was different enough from its
> predecessors to be called a language. -John]
Apart from additional data types, simplified control structures and some
little syntax changes, Algol W is still very close to Algol 60. It did keep
call-by-name parameter passing. Most other extended versions of Algol 60
seemed to drop that in favour of call-by-reference.
--Glyn
[I looked at the Algol W manual and you're right, it did keep call
by name, although it also added value/result parameters.
http://www.fh-jena.de/~kleine/history/languages/AlgolW-Manual.pdf
Alan Perlis, who was on the Algol 60 committee, told me that call
by name was a mistake. They were trying to make an elegant definition
of call by reference, and didn't realize what they'd done until Jensen's
Device came along. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.