On Wed, Jan 12, 2022 at 1:07 PM G. Branden Robinson < g.branden.robinson@gmail.com> wrote: > Hi, Dan, > > At 2022-01-12T11:33:35-0500, Dan Cross wrote: > > I have some questions about the earlier history. > > I've been collecting a detailed narrative history not just of the *roff > _programs_ but also of the development on the language in the roff(7) > manual page. Below I'll share a current chunk of it that is planned for > the next release (groff 1.23). It has been heavily revised since > groff 1.22.4. Many of my revisions have been motivated by accounts from > this list, from the "history of man pages" (more of a history of troff) > at manpages.bsd.lv, and the minnie TUHS archive. > Very interesting. The email mentioning DSR from Dan Halbert linked to a wikipedia article that in turn links here: https://manpages.bsd.lv/history/saltzer_23_10_2011.txt This is an email from Jerry Saltzer that refers to a port of the _CTSS_ BCPL ROFF sources purportedly written by Doug. I wonder if that was actually a thing, or an error? > As I understand it, in the beginning there was RUNOFF, which I believe > > originated on CTSS? The CTSS sources contain a RUNOFF program that's > > made up of ~1100 lines of MAD and ~1300 lines of assembler. > > This is a detail I hadn't encountered before; instead I've read claims > that distorted it into being a solely high-level language project. > Fortunately, the source is online: https://github.com/rcornwell/ctss/tree/master/src/runoff The `.fap` files are assembly; for example https://github.com/rcornwell/ctss/blob/master/src/runoff/lmio12.fap Brief inspection shows the FAP code mostly dealing with very low-level details either interfacing with the system for IO/memory or character handling. Without further examination, I'd be willing to believe the bulk of the program's logic is in MAD. > There is certainly a RUNOFF in Multics, written in BCPL (there's a > > small "outer module transfer vector" program in ALM). > > As I understand it, _this_ RUNOFF is undisputedly Doug McIlroy's. > Indeed; one finds the following in at least one of the Multics RUNOFF source files: From https://github.com/dancrossnyc/multics/blob/main/library_dir_dir/system_library_standard/source/bound_runoff_.s.archive/runoff_mr1.bcpl : // Roff for MULTICS // // The first ROFF for Multics was written in March, 1969, by // Doug McIlroy of Bell Labs. Art Evans made extensive // modifications to it in May and June, 1969, adding many // comments and making various changes. // Footnoting added by Dennis Capps in 1970. // Maintained by Harwell Thrasher in 1971. // Many new features added and bugs fixed by R Mabee in 1971-1972. // RUNOFF and BCPL were brought over to the 6180 Multics (from 645) in May of 1973 by R F Mabee. The copyright statements on all of the runoff source files seem to be dated 1974 (I haven't looked at every one). > [snip] > Here's what I have, though it looks better typeset[2]. Corrections from > witnesses are warmly welcomed. [snip] > Thank you; that was very interesting. - Dan C.