<div dir="ltr">Nelson--<div><br></div><div>Well, maybe CP/M and MS-DOS were less powerful, but you're forgetting that they had the benefit of 10 years or so of additional evolution. ;-)</div><div><br></div><div>--Marc</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 8, 2015 at 11:20 AM, Doug McIlroy <span dir="ltr"><<a href="mailto:doug@cs.dartmouth.edu" target="_blank">doug@cs.dartmouth.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> It might not be so much a set of macros as just using a<br>
> subset of raw groff.<br>
<br>
Yes, there were no macros back then. If you format the<br>
document using raw groff, the odds are that you will be<br>
speaking the same roff that Dennis did.<br>
<br>
>  Doug having been there, might know/remember the actually lineage.<br>
<br>
Aside from some fuzziness about who wrote what and in what<br>
language, here's what happened:<br>
<br>
To port Jerry Saltzer's Runoff (presumably written in MAD)<br>
to Multics, either Dennis or Bob Morris or both together<br>
reimplemented it (presumably in PL/I). To coexist with<br>
Saltzer's version on CTSS, the new program needed a<br>
distinct name, hence roff.<br>
<br>
The early Multics PL/I compiler was far from a production<br>
tool. Justifiably, the Bell Labs comp center didn't<br>
support it. To get roff into general use at the Labs,<br>
I undertook yet another implementation in BCPL. I added<br>
functionality (number registers, three-part headings, etc)<br>
and kept the new name. Molly Wagner added hyphenation.<br>
Eventually, I added macros that were usable either as<br>
commands or (when parameterless) embedded in text.<br>
<br>
Almost as soon as Unix was up on the PDP-11 one of Ken, Dennis<br>
or Ossanna reimplemented a pre-macro version of roff (presumably<br>
in assembler or B). I'm quite sure roff never ran on the PDP-7.<br>
<br>
Ossana had a grander plan and undertook nroff. When he learned<br>
of the availability of the Graphic Systems CAT phototypesetter,<br>
he promptly generalized nroff to handle it. Joe replaced the<br>
CAT's paper tape reader with a direct wire to the computer.<br>
It all worked swimmingly--nothing like the travails when the<br>
CAT was replaced by the more capable Merganthaler Linotron.<br>
<br>
An interesting question of priority is whether nroff or<br>
BCPL roff was first to have a macro capability. Though<br>
I don't remember for sure, the fact that BCPL roff unified<br>
registers, macros, strings and diversions suggests that<br>
I abstracted from nroff facilities.<br>
<span class="HOEnZb"><font color="#888888"><br>
Doug<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
TUHS mailing list<br>
<a href="mailto:TUHS@minnie.tuhs.org">TUHS@minnie.tuhs.org</a><br>
<a href="https://minnie.tuhs.org/mailman/listinfo/tuhs" rel="noreferrer" target="_blank">https://minnie.tuhs.org/mailman/listinfo/tuhs</a><br>
</div></div></blockquote></div><br></div>