From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23509 invoked from network); 12 Jan 2022 20:02:49 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 12 Jan 2022 20:02:49 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id E89529CFE8; Thu, 13 Jan 2022 06:02:47 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 186A29CF7E; Thu, 13 Jan 2022 06:02:19 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="bFcw5/L7"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 5F5659CF7E; Thu, 13 Jan 2022 06:02:18 +1000 (AEST) Received: from mail-ot1-f43.google.com (mail-ot1-f43.google.com [209.85.210.43]) by minnie.tuhs.org (Postfix) with ESMTPS id CDAEF9C78F for ; Thu, 13 Jan 2022 06:02:17 +1000 (AEST) Received: by mail-ot1-f43.google.com with SMTP id s21-20020a05683004d500b0058f585672efso3834322otd.3 for ; Wed, 12 Jan 2022 12:02:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=N0JocVtK7mt39hIG5kmq6ArDxYaau3+gBVqOK1A3hLE=; b=bFcw5/L7YnrICFt5ItHs/dttHJGPjfmgKFXp5u3whifQvxZBaNvT0TZ1H+UGLiaMHN sQY1csl3t0jnbjn+X0wqpHR9vtxIX8KyRhXapfxy5fo7Adn0h2CJeGLtXShMlSZeSkLV zT056zu20h7BbzYCzrmSOskgQq0xbr0LUzCQAu7sADcrmGeUOVsQDoaLKuuD+rGvgmxW EWmSqa7yOhngUDuJVEJPqRC8Bw9mLfAXuG2ZyOy9caBCJPaQnuxpXQBdpMDhPXWKDnX8 12fdnnNiY0Z+pM1/2rfjnMOc05du9CoVvK1leYCBP7MqEsWIiZ2WwTg6Stlgubiq7+U3 HCXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=N0JocVtK7mt39hIG5kmq6ArDxYaau3+gBVqOK1A3hLE=; b=lZEuvuumk1/cGSyOq36NHbRowX0lhs3SLOLfjvrYzD934kazSKMsp46zGQwj3Yf+le fLDZEXi6/8NYD8SIH3ZXxvSXCzokMvqAJjyS8Sk7ZgJ3qdRuy8I698ewBjnQ0pfd4LUj oLpg1lTgIKy74VRs3jXiuphzd4JH7nvz4cTAYcNOJbQZXfJnOnV8WdiQPyQKjKkjMw+z zuzV8hU6D5aRv9IbmMlSftWSGXoYTeUR1B8foe4vScTRDhM8JY4nyNUbpFZkXPRNTYtH pdkpbVITRi3KSEnfi/UPR2VqRq+HQH/48ggBOem1oSvpPq5KGpyJQtgIDYaeXo2WDKqG P5rw== X-Gm-Message-State: AOAM530ziypo6fU9broNOSOCtx4qENMYHa4GOi2A0zmTCip9gfgigr8l YqDjyj3Vlhz335SHa80sh1/AZtnNII9FvOME644= X-Google-Smtp-Source: ABdhPJyQTmegznJapyZ8LqoV87bVnvf+po6EJjiYE2ndw3VWqnWmeir9roXUCqplcztAdRT2kWd8bGKBDI/bnTC913M= X-Received: by 2002:a9d:6acb:: with SMTP id m11mr969291otq.375.1642017736274; Wed, 12 Jan 2022 12:02:16 -0800 (PST) MIME-Version: 1.0 References: <20220101031511.GB8135@mcvoy.com> <20220111015901.GE25103@eureka.lemis.com> <4409b91cd794867d@orthanc.ca> <20220111024218.GE3441@mcvoy.com> <202201120854.20C8sDRR014233@freefriends.org> <20220112180619.mxzojchd62vpwm2f@localhost.localdomain> In-Reply-To: <20220112180619.mxzojchd62vpwm2f@localhost.localdomain> From: Dan Cross Date: Wed, 12 Jan 2022 15:01:40 -0500 Message-ID: To: "G. Branden Robinson" Content-Type: multipart/alternative; boundary="000000000000e2b72605d5680b01" Subject: Re: [TUHS] *roff history as told to GNU X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: The Eunuchs Hysterical Society Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --000000000000e2b72605d5680b01 Content-Type: text/plain; charset="UTF-8" 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. --000000000000e2b72605d5680b01 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Wed, Jan 12, 2022 at 1:07 PM G. Brande= n Robinson <g.branden.ro= binson@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.=C2=A0 Below I'll share a current chunk of it that is plann= ed for
the next release (groff 1.23).=C2=A0 It has been heavily revised since
groff 1.22.4.=C2=A0 Many of my revisions have been motivated by accounts fr= om
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 link= ed to a wikipedia article that in turn links here:=C2=A0https://manpages.bsd.lv/his= tory/saltzer_23_10_2011.txt

This is an email f= rom Jerry Saltzer that refers to a port of the _CTSS_ BCPL ROFF sources pur= portedly written by Doug. I wonder if that was actually a thing, or an erro= r?

> 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 cla= ims
that distorted it into being a solely high-level language project.

Fortunately, the source is online:=C2=A0https://githu= b.com/rcornwell/ctss/tree/master/src/runoff
The `.fap` files = are assembly; for example=C2=A0https://github.com/rcornwell/ctss/blob/= master/src/runoff/lmio12.fap

Brief inspection = shows the FAP code mostly dealing with very low-level details either interf= acing with the system for IO/memory or character handling. Without further = examination, I'd be willing to believe the bulk of the program's lo= gic 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:


// =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Roff for MULTIC= S
//
// =C2=A0The first ROFF for Multics was written in March, 1969, = by
// =C2=A0Doug McIlroy of Bell Labs.=C2=A0 Art Evans made extensive// =C2=A0modifications to it in May and June, 1969, adding many
// =C2= =A0comments and making various changes.
// =C2=A0Footnoting added by Den= nis Capps in 1970.
// =C2=A0Maintained by Harwell Thrasher in 1971.
/= / =C2=A0Many new features added and bugs fixed by R Mabee in 1971-1972.
= // =C2=A0RUNOFF and BCPL were brought over to the 6180 Multics (from 645) i= n May of 1973 by R F Mabee.

The copyright stat= ements on all of the runoff source files seem to be dated 1974 (I haven'= ;t looked at every one).
=C2=A0
[snip]
Here's what I have, though it looks better typeset[2].=C2=A0 Correction= s from
witnesses are warmly welcomed. [snip]

T= hank you; that was very interesting.

=C2=A0 =C2=A0= =C2=A0 =C2=A0 - Dan C.

--000000000000e2b72605d5680b01--