[TUHS] berkeley unix version hosting Doug Cooper's Standard Pascal Environment
Will Senn via TUHS
tuhs at tuhs.org
Sat Sep 19 13:25:20 AEST 2026
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 fromwhat 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