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
the discussion of why the CSRG disbanded in 1995 has come up elsewhere.
My memory is that the reason was pretty simple: DARPA ended their
funding at that time.
Hoping for corrections to my memory :-)
> From: Clem Cole
> So by the late 70s/early 80s, [except for MIT where LISP/Scheme reigned]
Not quite. The picture is complicated, because outside the EECS department,
they all did their own thing - e.g. in the mid-70's I took a programming
intro couse in the Civil Engineering department which used Fortran. But in
EECS, in the mid-70's, their intro programming course used assembler
(PDP-11), Algol, and LISP - very roughly, a third of the time in each. Later
on, I think it used CLU (hey, that was MIT-grown :-). I think Scheme was used
later. In both of these cases, I have no idea if it was _only_ CLU/Scheme, or
if they did part of it in other languages.
Noel