[TUHS] berkeley unix version hosting Doug Cooper's Standard Pascal Environment

Clem Cole via TUHS tuhs at tuhs.org
Sat Sep 19 14:14:47 AEST 2026


Since PCC hit the streets as part of V7 in 1979, one of Sue's students
started to create pc after that, but I don't remember who. But 1982 works
out that it was around for the first edition.  But it does mean that it was
likely done on the PDP-11 version.  As I said I don't remember using it
which is why I don't remember its status.  The only memory I really have of
it, ISTR that to use Mark's pdx, that required pc; not pi/pix. But dbx/pdx
was still very much in its infancy and was started on Ernie under 4.1.
Mark didn't finish them until after I had left.  I think they are in
4.2BSD, but they are less likely to be in 4.1A,B,C.

Glad you have it working on the Vax, but given the dates it was tested and
used pretty hard (daily) on PDP-11s. Given your experience with 2.11BSD, I
suspect the issue is bit rot / skew in later 2.XBSD editions.  My memory is
that by the time of 2.8BSD and later, UCB had stopped using PDP-11s to
teach the undergrads. The users of 2.8BSD and follow ons were probably less
interested in the Pascal subsystem and testing was undoubtedly less.


Sent from a handheld expect more typos than usual

On Fri, Sep 18, 2026 at 11:24 PM Will Senn <will.senn at gmail.com> wrote:

> Fascinating. I have a first edition (9th printing) and second edition (3rd
> printing) from 82 and 85 respectively. The first edition preface says:
>
> Every program and most subprograms, have been run without error or warning
> messages using the -s option (Standard Pascal only) of the Berkeley Pascal
> compiler (pc) and interpreter (pi). All program output displayed was
> produced by the actual source programs shown in the text as it was being
> typeset.  All examples and definitions conform to the Draft ANSI/IEEE
> Pascal Standard (X3J9/81-093).
>
> Then, in the second edition, in the Preface to the First Edition, it says:
>
> Every program and most subprograms, have been run without error or warning
> messages using the -s option (Standard Pascal only) of the Berkeley Pascal
> compiler (pc) and interpreter (pi). All program output displayed was
> produced by the actual source programs shown in the text as it was being
> typeset.  All examples and definitions conform to the ISO and ANSI Pascal
> standards.
>
> This is funny, cuz usually when you include a preface from a prior
> edition, you keep it verbatim.
>
> Regardless, I confirmed the function argument program runs in both 4.2BSD
> and 4.3BSD.
>
> Will
>
>
>
> On 9/18/26 9:38 PM, Clem Cole wrote:
>
> When we taught CS40 in 1982 I want to say that it was still the first
> edition of Oh Pascal (which I still content is the best introduction to
> >>programing<< I know).  Mike and Doug did a super job with it.  In my
> mind, the fact that they are using Pascal is secondary to their method of
> how to think about and write real programs.
>
>
> At that time our students were using the Cory Hall 11/70, which was
> V7+2BSD and the Pascal implementation would have been close to what  is on
> the 2BSD tape.  And yes, Kirk and Joy had been students of Sue Graham. IIRC
> Joy took the original Ken Thompson code and extended it. Kirk retargeted it
> the vax.
>
> By that time the Vaxes had taken over for the grad students, with Ernie
> being the primary system running 4.1BSD.   4.1A,B,C are still a few years
> away.    But the Berkeley Pascal system was in heavy development by Sue's
> students.  There was probably a divergence of features from what was on
> Cory and what was on Ernie from a Pascal standard.   For instance Mark
> Linton was working on his thesis which became dbx and pdx (and was what the
> Gnu folks started with for the later gdb).
>
> Also remember the original book and  compilation suite was before either
> BS6192 (British Pascal Standard of 1982) or ISO Pascal which was at least a
> year or two later.
>
> FWIW: My memory is hazy as to when pc showed up.  It would have had to
> have been a few years after Johnson's PCC was at UCB since it used the PCC
> code generator and libc, although it had its own libpc which supported
> Pascal I/O semantics that then called into the C runtime.
>
> Note: our students used pi/pix. But the autocorrect stuff in the front end
> (which was a bad idea in practice) was already there, which I have talked
> about in other messages.
>
> Clem
>
>
> Sent from a handheld expect more typos than usual
>
> On Fri, Sep 18, 2026 at 6:24 PM Will Senn via TUHS <tuhs at tuhs.org> wrote:
>
>> Hi all,
>>
>> My algol60 dive took me into uncharted (for me) waters. It was fun, but
>> eventually I tacked back and came across, Oh! Pascal!, a recommendation
>> I believe Clem gave me. Well, interestingly enough, but not directly
>> unix related, the code in that book runs with fpc -Miso, meaning the
>> free pascal compiler with the iso option for 7185. So, I'm covered on
>> running it in the modern world, but as usual, I'd prefer to run it like
>> it was run back when, on a system that might have been used, at the time
>> to work through the book.
>>
>> My first step back from today took me to 211bsd, it has a reasonable
>> environment, has pi and px and oughtta work, but... it doesn't really.
>> It'll do basic stuff, sure. But it lacks pc and a more complete
>> compiler, particularly function as argument:
>>
>> program FunctionArgumentDemo;
>>
>> function Square(x: integer): integer;
>> begin
>>    Square := x * x
>> end;
>>
>> function Cube(x: integer): integer;
>> begin
>>    Cube := x * x * x
>> end;
>>
>> function Apply(function f(x: integer): integer;
>>                 value: integer): integer;
>> begin
>>    Apply := f(value)
>> end;
>>
>> begin
>>    writeln(Apply(Square, 5));
>>    writeln(Apply(Cube, 3))
>> end.
>>
>> # pi -s arg.p
>>       1  program FunctionArgumentDemo;
>> E ----------------------------------^--- Expected '('
>>      13      function Apply(function f(x: integer): integer;
>> e -----------------------------------^--- Replaced '(' with a ','
>> E 13 - Procedure/function parameters not implemented
>>
>> Which is reasonable, turbo pascal 3 didn't have function arguments, but
>> Standard Pascal iso 7185 supports it... I want it :).
>>
>> So, my question is, does this ring a bell for anyone? ChatGPT seems to
>> think that a VAX 4.1 might be in use around the '82-'85 timeline of the
>> 1st and 2nd edition.
>>
>> Cooper references quite a rarified list of folks in the preface to the
>> 82 edition, so I'm inclined to think he had access to what was current
>> at Berkeley at the time (he calls McKusick one of the "Kompiler Kids").
>>
>>


More information about the TUHS mailing list