Awesome!
On Sat, May 20, 2023 at 3:53 PM segaloco via TUHS <tuhs(a)tuhs.org> wrote:
Came across something interesting by chance in the
Sixth Edition document
set I recently received. I took the binder to the park for a little light
reading and found myself perusing the C reference manual. As an aside, I
will always appreciate the style of the manual, and I still pick up
something new or see something differently every time I flip the pages.
The introduction includes these paragraphs:
Most of the software for the UNIX time-sharing
system is written in C,
as is the operating system itself. C is also available on
the HIS 6070
computer at Murray Hill, using a compiler written by A. Snyder and
currently maintained by S. C. Johnson. A compiler for the IBM
System/360/370 series is under construction.
This is a manual only for the C language itself as implemented on the
PDP-11.
Hints are given occasionally in the text of
implementation-dependent features, and an appendix summarizes the
differences between the Honeywell and DEC implementations; it also contains
some known bugs in each.
I didn't think too much of this initially, but then I found myself looking
through some other old documents yesterday evening and found myself reading
the memorandum version of the manual that Dennis linked to on his Bell Labs
usr page:
https://www.bell-labs.com/usr/dmr/www/cman74.pdf
In this version, the paragraphs have been altered and merged:
Most of the software for the UNIX time-sharing
system is written in C,
as is the operating system itself. C is also available on
the HIS 6070
computer at Murray Hill and and on the IBM System/370 at Holmdel. This
paper is a manual only for the C language itself as implemented on the
PDP-11. However, hints are given occasionally in the text of
implementation-dependent features.
So between the two, the print document I have here indicates the compiler
for IBM mainframes is still in the works, but by the January 15, 1974
document, it is noted as complete and in use in Holmdel. Additionally,
this print document mentions an appendix detailing DEC vs. Honeywell
differences and some other bug notes. Unfortunately this appendix doesn't
actually appear to be in the binder, so either it wasn't done yet or was
tossed by a previous owner some time ago. Luckily, this appendix, despite
the reference being dropped, *is* on the cman74 version.
In any case, upon discovering this, I then spot checked the rest of the
contents of the two by seeing if any paragraphs had strange offsets from
each other or there were noticeable changes in the visual flow. I didn't
read each and every line, instead opting to see if paragraphs still had the
same number of lines, the same "outline" (i.e. lines seem to start, end,
and break pretty much the same), and that pages started and ended the same,
and everything pretty much matched. There may be punctuation changes or
other minor edits, but I didn't see anything indicating major changes in
the language. The only other thing noticeably different is the references
list, with Dennis's cman74 copy containing two extra references mine does
not: "A User's Guide to the C Language on the IBM 370." by T.G. Peterson
and M.E. Lesk, 1974, and "Programming in C- A Tutorial." by B.W. Kernighan,
1974. The latter is listed as unpublished in cman74. In my copy, aside
from the two omitted references, the reference to the CACM paper does not
have a date, instead just saying "To appear in C. ACM." and "The GCOS C
Library" is listed as an unpublished memorandum with a speculative year of
1974.
So all in all, this appears to be a C Reference Manual most likely from
late 1973, or however unlikely, one that was very rapidly published in the
first few weeks of 1974 before the mentioned changes on January 15th of
that year.
Are there any known copies of the manual that predate this which I can
compare back with, or in any case is this particular revision known and
captured somewhere? If not, it should be trivial to take the sources from
V6 and produce a facsimile copy until it bubbles up in my scanning list
(much ahead of it, got the ROFF manual scanned the other day, hoping to hit
TMG and m6 in the next few.)
There is also an NROFF manual here that I see referenced in the TOC of the
V6 document set in the source, but don't actually see in files. It is
dated 9/11/74 and is only labeled "NROFF Users' Manual", no TROFF in the
title. It is also noted as the "Second Edition" in the header. This
document makes reference to the "TROFF User's Manual", dated April 1974,
also by Ossanna. Of note too is a "Quick NROFF Addendum" dated 5/19/75
that is included at the end.
Finally, a slightly later version of the UNIX summary appears, dated
August, 1975 instead of May, 1975, the date of the one in the V6 sources.
It has minor chnages, most noticeably that the last few pages regarding
NROFF and TROFF stuff have been split into two sections, one with more
NROFF-y stuff and one with more more TROFF-y stuff.
Anywho, nothing earth shattering here, but at the very least, a couple of
document variants vs. what is currently on the archive.
- Matt G.