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(a)planet.nl>
Subject: Re: [TUHS] On the uniqueness of DMR's C compiler
Date: 31 May 2024 at 14:00:55 CEST
To: "tuhs(a)tuhs.org" <tuhs(a)tuhs.org>
Cc: Clem Cole <clemc(a)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(a)ccc.com <mailto: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?