> > On Jan 17, 2025, at 12:10 PM, ben via cctalk > > <cctalk(a)classiccmp.org> wrote: > > > > On 2025-01-17 8:46 a.m., Paul Koning wrote: > > > > As for ALGOL, I know that Burroughs ALGOL (which > > is an extended ALGOL-60) has separate compilation, through a linker called > > "Binder". There is even a Binder for PDP-11 ALGOL, though I haven't tried > > it. PDP-11 ALGOL looks very much like a 16-bit derivative of Burroughs > > ALGOL. > > Gadzooks, A PDP running something other than B ^H C. :) > Other than Unix, C wasn't a common PDP-11 language. Mine run BASIC-PLUS, > Macro-11, > TECO, FORTH, and ALGOL. > > > paul > > Did Burroughs ALGOL, make cleaner software for people that used it? > > What about FORTRAN users? (I keep wanting to spell FORTAN) > > Ben. > What do you mean by "cleaner software"? > > ALGOL was the primary language on Burroughs mainframes, and the machine > architecture was > specificaly optimized for ALGOL. I don't know about FORTRAN (or COBOL) on > those > machines, I expect it existed but I never ran into it. > > Burroughs used ALGOL variants for various specialized purposes on those > systems. For the > terminal I/O machinery there was DCALGOL (data comm Algol) and for the kernel > there was > ESPOL -- basically ALGOL with C-like extensions to allow playing with lower > level machine > details. Apparently there was no assembler; a document I saw says that the > only low level > code is in the startup of the kernel, written in machine language (straight > hex), just > enough to set up the stack and a few other registers and transfer control to > the ESPOL > code entry point. > > Interestingly enough, the system security depended in large part on the fact > that there > was no assembler and access to ESPOL was restricted by file system access > rules. If you > could write ESPOL programs you could do things that break security, but the > regular ALGOL > compiler would not generate such code. This explains why at the shop where I > used that > machine (TU Eindhoven, B 6700 system) I got some very suspicious looks from > the staff when > I asked about wanting to read an ESPOL manual. > > paul
Burroughs (it's now called Unisys) mainframes and their ALGOL dialect shouldn't be discussed in the past tense, because the current versions of those systems are still being marketed, supported, and used. Burroughs had a variety of mainframe architectures. The one under discussion here has variously been called Large Systems (B6x00/7x00), A Series, and now ClearPath MCP. That product line was derived from the B5000/5500 and has an architecture specifically designed to support ALGOL, including hardware support for dynamically-allocated arrays and call-by-name semantics. Binder is still used, but it never was that common outside of FORTRAN and C applications. For the past 40 years, separate compilation has usually been done by means of dynamically-linked libraries, which are quite efficient. That is also now the most common way to call routines written in other languages, e.g., a COBOL program calling routines in an ALGOL library. FORTRAN and COBOL definitely exist on those machines. COBOL in particular is still used heavily. There was a PL/I compiler for a while, but almost no one used it, and it was discontinued years ago. Other languages are Pascal and C (with a fairly complete POSIX library). There are also a few utility languages, such as a sort generator and WFL, the batch job control language. There is still no assembler. ESPOL did not have anything like C extensions (never mind that it existed before C did). It was basically ALGOL with language extensions to access low-level hardware facilities and handle control words transparently. ESPOL was replaced in the early '80s by a new language, NEWP, which is somewhat Modula-like. All of the system software is written in ALGOL (or one of its variants), and NEWP, with some of the newer stuff in Pascal and C. It's true that the B6700 (early '70s) systems depended heavily on the compiler to restrict access to sensitive capabilities of the system, but that's been tightened up a lot over the years. You never could just sit down and write a program to generate runnable code -- runnable code can only be generated by compilers, and the code file for a compiler must be "blessed" by the system administrator. ESPOL could never be used to write a program that would run under the MCP (the OS). It could only be used to generate standalone programs that had to be booted manually. You could, however, write a procedure (subroutine) in ESPOL and bind it to another program. NEWP can generate runnable programs, but if you use any "unsafe" features of the language, the resulting code file is marked unsafe and requires administrator blessing before it can be run. We just don't have a problem with bad code getting into the modern systems. There is no such thing as anti-virus software for them. A different Paul