https://cacm.acm.org/opinion/articles/250078-lets-not-dumb-down-the-history-of-computer-science/fulltext
In 2005–2007, someone (Randall Neff) from the Computer History Museum digitized many documents from Knuth's personal collection. You can see the full list of digitized documents here: https://archive.computerhistory.org/resources/text/Knuth_Don... and among them are:
- "Digitek Fortran compiler for the Daystrom 636 computer" (1963) https://www.computerhistory.org/collections/catalog/10272457... — 161 pages of assembly code with Knuth's annotations in pencil as he tried to read this. (The handwriting was hard to read because he was reading this compiler and writing with his left hand, when he was (I think) in hospital with his right arm broken.)
- "Data Structures in Digitek's FORTRAN IV Compiler for the SDS 900 Series" by Robert Floyd — 8 pages of "Notes for a class analyzing the Digitek compiler". http://www.bitsavers.org/pdf/digitek/Data_Structures_in_Digi... — this seems to describe some of the ideas/conventions that went into writing these compilers.
Moreover, Knuth has mentioned this in a few other places:
- In Mathematical Writing (https://www-cs-faculty.stanford.edu/~knuth/papers/cs1193.pdf), there's a sentence:
> Don told us that Jim Dunlap of Digitek, who made some of the best early compilers, invariably used identifiers forty-or-so characters long. The meaning was always quite clear although no comments appeared.
- In Coders At Work (p. 600), Knuth says (https://books.google.com/books?id=2kMIqdfyT8kC&pg=PA600&lpg=... ):
> I’ve got lots of collections of source code. I have compilers, the Digitek compilers from the 1960s were written in a very interesting way. They had their own language and they used identifiers that were 30 characters long but very descriptive, and their compilers ran circles around the competition at the time—this company made the state-of-the-art compilers of 1963 or ’64.
> […] One time I broke my arm—fell off a bike—and I had a month where I couldn’t do anything much, so I read source code that I had heard had some clever ideas in it that hadn’t been documented. I think those were all extremely important experiences for me.
- In a 1984 letter (https://doi.org/10.1109/MAHC.1984.10042), he mentions it again (how they wrote many Fortran compilers for different systems, more than one a month!).
Other sources:
- http://www.bitsavers.org/pdf/digitek/digitek_history.txt mentions that "Jim and Digitek were mentioned in early editions of The Art of Computer Programming, Knuth" and mentions a couple of Fortran compilers from Digitek (for Daystrom 636, IBM 7090, IBM 360):
> Jim invented (at least refined and proved economically viable) a programming paradigm for compiler writing: POPs, Program Operations. Jim designed a computer on paper, an instruction was a POP, e.g., RCA, Require Character and Advance; it was "easy" to write compilers on this paper computer that would eventually be emulated on the customer's hardware. The principal features of this paper computer: LIFO variable length tables, recursion, a stack, translation to, and manipulation of Polish encryption of the program being compiled, character-scanning and code-generation POPs.
See also their Wikipedia article: https://en.wikipedia.org/w/index.php?title=Digitek&oldid=966... and some ads: http://www.bitsavers.org/pdf/digitek/ads/Digitek_Ad.pdf
Also, "The Mythical Man Month" seems to contain many references to Digitek and their compiler.