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.