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:
https://open.spotify.com/episode/6q3XuPkcTPEa5GTP5i8EZb
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:
https://gitlab.com/pnru/Thoth
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:

From: Paul Ruizendaal <pnr@planet.nl>
Subject: Re: [TUHS] On the uniqueness of DMR's C compiler
Date: 31 May 2024 at 14:00:55 CEST
To: "tuhs@tuhs.org" <tuhs@tuhs.org>
Cc: Clem Cole <clemc@ccc.com>

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.

On May 8, 2024, at 5:51 PM, Clem Cole <clemc@ccc.com> wrote:

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?