All,
1. I have a physical copy of the V7 UPM published by Holt, Rinehart and
Winston (HRW) from 1983 (2 volume phone book). In it, there is a C
Reference Manual (pp. 247-277, reprinted with minor changes from the
first C book by K&R and including a Recent Changes to C addendum). I
also have a PDF that was supposedly created from sources that has a C
Reference Manual in it, but, in /usr/doc/cman, there's an inscription
that reads, "Sorry, but for copyright reasons, the source for the
C Reference Manual is not distributed." and the one in the pdf appears
to be identical to the one in the V6 UPM (which I have a print-on-demand
version of). Are the *roff sources (or a clean PDF) available for the
reprint? I have located a PDF copy of the HRW edition, but it's got the
usual deficiencies of being a scanned copy.
2. In same manual, there is an article entitled, UNIX Programming --
Second Edition by K&R. Where is the first edition located? It isn't in
the V6 UPM.
Regards,
Will
I got his from a friend today (15 February):
===========
I'm sorry to report that Lorinda passed away a few days ago. I got a call
from her sister today. Apparently the dog walker hadn't seen her for a few
days and called the police. The police entered the house and found her
there. Her sister says they are assuming either a heart attack or a stroke.
A week or so after spending an entire day meticulously mapping manpages
from version 0 to version 7, I came across Doug's combined table of
contents. I love recreating the wheel <<shakes head, ruefully>>, only
saving grace is that the geniuses who came before, in this case Doug,
had the same idea :). In it, he mentions an addendum for v7 that has
pages for unexported software for local use: apl, cflow, cpio, cref, and
a slew of other usefull commands get mentioned. By unexported, I'm
gathering this means not included on the distro tapes -- I certainly
don't see them in my installed system. Were they distributed at all, or
just used internally at Bell, or what? Are there extant copies around?
To be clear, I'm talking about the unexported versions, not later
versions that might be fitted onto v7. Oh, and a bonus question, why
weren't they exported.
Will
All,
I have been doing some language exploration in v7/4.3bsd and came across
Software Tools (not the pascal version). It's written using ratfor,
which I had seen in the v7 UPM. I fired up v7 and tried my hand at the
first example:
# copy - copy input characters to output
integer getc
integer c
while(getc(c) != EOF)
call putc(c)
stop
end
The first thing I noticed was that it read more like C than Fortran (I
know C quite well, Fortran just a smidge)... awesome, right? So I ran
the preprocessor on it and got the following f77 code:
c copy - copy input characters to output
integer getc
integer c
c while
23000 if(.not.(getc(c) .ne. eof))goto 23001
call putc(c)
goto 23000
c endwhile
23001 continue
stop
end
Cool. The way it translated the EOF test is weird, but ok. Trying to
compile it results in complaints about missing getc and putc:
$ f77 copy.f
copy.f:
MAIN:
Undefined:
_getc_
_putc_
_end
Ah well, no worries. I know that they're in the c lib, but don't about
fortran libs... Meanwhile, over on 4.3BSD, it compiles without issue.
But running it is no joy:
$ ./a.out
This is a test
$
I remembered that the authors mentioned something about EOF, so I
tweaked the code (changed EOF to -1) and rebuilt/reran:
$ ./a.out
This is a test
This is a test
$
Fascinating. Dunno why no complaints from F77 about the undefined EOF
(or maybe mis-defined), but hey, it works and it's fun.
I'm curious how much ratfor was used in bell labs and other locations
running v6, v7, and the BSD's. When I first came across it, I was under
the impression that it was a wrapper to make f66 bearable, but the
manpage says it's best used with f77, so that's not quite right. As
someone coming from c, I totally appreciate what it does to make the
control structures I know and love available, but that wasn't the case
back then, was it? C was pretty new... Was it just a temporary fix to a
problem that just went away, or is there tons of ratfor out there in the
wild that I just haven't seen? I found ratfor77 and it runs just fine on
my mac with a few tweaks, so it's not dead:
ratfor77 -C copy.r | tee copy.f
C Output from Public domain Ratfor, version 1.0
C copy - copy input characters to output
integer getc
integer c
23000 if(getc(c) .ne. eof)then
call putc(c)
goto 23000
endif
23001 continue
stop
end
What's the story? Oh, and in v6 it looks like it was rc - ratfor
compiler, which is not present in v7 or 4.3BSD - is there a backstory
there, too?
Will
I'm reading in, Kernighan & Plauger's 1981 edition of Software Tools in
Pascal and in the book, the author's mention Bill Joy's Pascal and Andy
Tanenbaum's as being rock solid. So, a few related questions:
1. What edition of UNIX were they likely to be using?
2. What versions of "Standard Pascal" were in vogue on UNIX at the time
(1981)?
3. What combinations of UNIX/Pascal were popular?
Thanks,
Will
All,
I did my research on this, but it's still a bit fuzzy (why is it that
people's memories from 40 years ago are so malleable?).
1. What are y'all's recollections regarding BSD 4.1's releases, vis a
vis the VAX. In McKusick's piece, Twenty Years of Berkeley Unix, I get
one perspective, and from Sokolov's Quasijarus project, I get quite
another. In terms of popularity and in terms of stable performance, what
say you? Was 4.1 that much better than 4BSD? Was 4.1as obsolete
immediately as McKusick says? 4.1b sounds good with FFS, was it? 4.1c's
the last pre 4.2 release, but it sounds like it was nearly a beta
version of 4.2...
2. Sokolov implies that the CSRG mission started going off the rails
with the 4.3/4.3BSD-Tahoe and it all went pear shaped with the 4.3-Reno
release, and that Quasijarus puts the mission back on track, is that so?
3. I've gotten BSD 4.2 and BSD 4.3 releases built from tape and working
very well. I just can't decide whether to go back to one of the 4.x
releases (hence question 1), or go get Quasijarus0c - thoughts on why
one might be more interesting than another?
4. Is Quasijarus0c end of the line for VAX 4.xBSD? Why does tuhs only
have Quasijarus0 and 0a, was there something wrong with 0b and 0c?
5. Has anyone unearthed an original 4.1 tape, or is Haertel's
reconstruction of the 1981 tape 1 release as close as it gets?
Later,
Will
Back in September I was having serious DNS issues with my MX records. Finally was able to move to a new DNS provider.
Could someone add me (jra(a)andrusk.com) back to the mailing list?
Thanks,
Justin
Sent from ProtonMail mobile