The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: doug@cs.dartmouth.edu (Doug McIlroy)
Subject: [TUHS] Scan of "Edition 0" manual
Date: Tue, 08 Dec 2015 13:20:12 -0500	[thread overview]
Message-ID: <201512081820.tB8IKCLQ144717@tahoe.cs.Dartmouth.EDU> (raw)

> It might not be so much a set of macros as just using a
> subset of raw groff.

Yes, there were no macros back then. If you format the
document using raw groff, the odds are that you will be
speaking the same roff that Dennis did.

>  Doug having been there, might know/remember the actually lineage.

Aside from some fuzziness about who wrote what and in what 
language, here's what happened:

To port Jerry Saltzer's Runoff (presumably written in MAD)
to Multics, either Dennis or Bob Morris or both together
reimplemented it (presumably in PL/I). To coexist with
Saltzer's version on CTSS, the new program needed a 
distinct name, hence roff.

The early Multics PL/I compiler was far from a production
tool. Justifiably, the Bell Labs comp center didn't
support it. To get roff into general use at the Labs,
I undertook yet another implementation in BCPL. I added
functionality (number registers, three-part headings, etc)
and kept the new name. Molly Wagner added hyphenation.
Eventually, I added macros that were usable either as
commands or (when parameterless) embedded in text.

Almost as soon as Unix was up on the PDP-11 one of Ken, Dennis
or Ossanna reimplemented a pre-macro version of roff (presumably
in assembler or B). I'm quite sure roff never ran on the PDP-7.

Ossana had a grander plan and undertook nroff. When he learned
of the availability of the Graphic Systems CAT phototypesetter,
he promptly generalized nroff to handle it. Joe replaced the
CAT's paper tape reader with a direct wire to the computer.
It all worked swimmingly--nothing like the travails when the
CAT was replaced by the more capable Merganthaler Linotron.

An interesting question of priority is whether nroff or
BCPL roff was first to have a macro capability. Though
I don't remember for sure, the fact that BCPL roff unified
registers, macros, strings and diversions suggests that
I abstracted from nroff facilities.

Doug



             reply	other threads:[~2015-12-08 18:20 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-08 18:20 Doug McIlroy [this message]
2015-12-08 18:47 ` Charles Anthony
2015-12-08 18:57 ` Marc Rochkind
2015-12-08 19:16 ` John Cowan
  -- strict thread matches above, loose matches on Subject: below --
2016-01-27  3:01 Doug McIlroy
     [not found] <mailman.3.1448845201.3730.tuhs@minnie.tuhs.org>
     [not found] ` <353E052F-541F-47C1-9ACF-587EB9EC6088@mcjones.org>
2015-11-30  9:06   ` Warren Toomey
2015-12-01 21:48     ` Random832
2015-12-01 22:29       ` Dave Horsfall
2015-12-02  0:44         ` Random832
2015-12-02 17:21           ` shawn wilson
2015-12-02 18:32             ` Random832
2015-11-29 17:51 Nelson H. F. Beebe
2015-11-29 20:00 ` Warren Toomey
2015-11-24  1:55 [TUHS] " Doug McIlroy
2015-11-28 23:24 ` [TUHS] Scan of " Warren Toomey
2015-11-29  2:01   ` Warren Toomey
2015-11-29 14:31     ` Clem cole
2015-11-29 20:21   ` Christian Neukirchen
2015-11-29 20:40     ` Nelson H. F. Beebe
2015-11-29 21:45       ` arnold
2015-11-30  4:02   ` John Cowan
2015-11-30  4:26     ` Dave Horsfall
2015-12-26 14:09   ` Warren Toomey
2016-01-26 23:15     ` Warren Toomey
2016-01-26 23:46       ` Warren Toomey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201512081820.tB8IKCLQ144717@tahoe.cs.Dartmouth.EDU \
    --to=doug@cs.dartmouth.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).