Although “unique” was too strong a claim, I’m still looking into what drives my sense of the DMR C compiler being special for its time.
The “Advent of Computing” podcast has an interesting episode on Bliss this month:
It (deliberately) doesn’t mention C all that much, but gives a nice view of another “systems language” of the early 70’s. Note that the podcast does not focus on the optimising aspect of the Bliss compiler; in my view this was an important aspect of both the Wulff and DMR compilers.
For those interested in the topic, my work on the BCPL -> B -> Eh -> Zed lineage is steadily progressing: based on the surviving papers and theses I’ve reconstructed most of the Eh compiler:
As it stands it can compile Eh source to TI990 machine code, but the reconstruction is not finished (for example the library code is mostly missing). I hope to find time to finish this project in the next months.
Doing a compare and contrast of BCPL, B, Bliss, C, Eh and Zed gives a nice context around the choices that DMR discusses in his paper on the development of early C. Note however that Eh/Zed is a journey: the Eh of 1975 was almost identical to the B that Johnson took there and it evolved from there. The quality of the compiler improved significantly in 1976/77. The evolution to a soft typed language (i.e. Zed) was the final step and only occurred around 1978/79.
I remain interested in any bits of Toth source code that might have survived, as well as in contacting members of the Uni of Waterloo / Mike Malcolm portable computing project.
Begin forwarded message:
Subject: Re: [TUHS] On the uniqueness of DMR's C compiler
Date: 31 May 2024 at 14:00:55 CEST
I’m further looking into BCPL / B / C family compilers on 16-bit mini-computers prior to 1979.
Lot’s of interesting stuff. BCPL was extended with structures at least twice and plenty struggle with (un)scaled pointers. It seems that the Nova was a much easier target than the PDP-11, with a simpler code generator sufficing to generate quality code. I’ll report more fully when I’m further along with my review.
IIRC, Mike Malcom and the team built a true B compiler so they could develop Thoth. As the 11/40 was one of the original Thoth target systems, I would have expected that to exist, but I have never used it.
Yes, they did. I’m working through the various papers on Thoth and the Eh / Zed compilers (essentially B with tweaks). I’ve requested pdf’s of two theses that are only on micro-fiche from the Uni of Waterloo library, hopefully this is possible. The original target machines were Honeywell 6060, DG Nova, Microdata 1600/30 and TI-990. The latter is close enough to a PDP-11. This compiler is from 1976.
I’ve browsed around for surviving Thoth source code, but it would seem to be lost. Does anyone know of surviving Thoth bits?