MICHAEL J PEPIN (mpepin@titan.ucs.umass.edu) wrote:
> I was wondering if anybody could tell me the name of the author of the
> Pop programming language? Thanks.
This is taken from HELP * POPFAQ which I'll figure out how to post
regularly one of these days.
The faq, amongst other things, is available for anonymous ftp in:
ftp.cogs.ac.uk:pub/plug/plughelp.tar.Z
Ian
-- A history of Pop ---------------------------------------------------
[various - collected by ir (so it's bound to be wrong :) ]
[jl]
Pop2 was a programming language developed at the University of Edinburgh
(which is in SCOTLAND).
The 'POP' of Pop11, Poplog et cetera, is a Robin Popplestone, who, last
I knew, was working in a university in Boston. I never asked him why
it's not called Burst11, but there you go. The best original paper is
'The Design Philosophy of Pop2' (if I remember the title correctly), by
Popplestone.
There was no Pop3 to Pop10, to the best of my knowledge.
[as]
I have no recollection of Pop10, but POP-2 (please notice the capitalisation
and the hyphen) for the PDP10 (later known as the DECsystem 10) was
implemented by myself and Malcolm Atkinson (now of Cambridge) in 1970 or
1971.
Didn't Julian [Davies] implement an early version of POP-2 based
Prologue?
Malcolm worked from Cambridge and I worked from Edinburgh into the PDP10 of
TimeSharing Ltd in London, via 10cps model 33 teletypes in our homes - is
this the earliest case of teleworking in the UK? (:-).
After 3 months of design and heavy coding (and enormous telephone bills) we
met one Easter Weekend in London and compiled the system for the first
time. By the end of the weekend we had 2+2 => working!
The initial implementation of POP-2 was "Multi-POP", in the Department of
Machine Intelligence and Perception in Edinburgh University. It was done
on a Elliott Automation 4120 (later ICL 4130) by Robin Popplestone, Dave
Pullin and myself, and was an eight user multi-access system based totally
on POP-2 (which was the control language of the system also).
This came live in 1967 (possibly late 1966). It's now said that we later
realized that we were the first online multi-access system to come live in
the UK, several weeks ahead of the Cambridge system, but I've no proof of
that nor do I remember when the Cambridge system went on-line!
When you consider the research output of the DMIP in the late sixties and
early seventies, it is difficult to believe that all the work was done on a
machine with 64K 24-bit words, 2 microsecond add time, through model 33
10cps teletypes.
A PDP7 with a model 340 (?) vector graphics display and later a Honeywell
316 were linked to the 4130 through a "high-speed" data link (into the ATU
of the 4130 for devotees).
The PDP7 was used by John Oldfield and his group for early CAD system
research, and the H316 was the control processor for FREDDY, the hand-eye
robot system that formed the focus of much of the department's research.
We would have used a PDP11 instead of the 316, but DEC announced that
machine a matter of days after we'd ordered the Honewell (shame - the order
was not retractable)! I could probably still key in the boot code on the
front-panel hand-keys of the 316 if I had to!
After the technical success on the 4100, POP-2 was implemented on the following
systems in addition to the PDP10:
ICL System-4 by John Barnes,
ICL1900 under GEORGE3 by John Scott & Frazer Dingwall (now with Digital),
CDC6000 under SCOPE by Ken McCallum (Strathclyde) and Lawrence Shafe,
MODULAR-1 again by Frazer Dingwall,
and (believe it or not) also on the
IBM 360/370 under TSO by Rod Steel
(so much for the complaints about the Intel architecture for POP
implementations!)
The foundation of these implementations was a machine independant compiler
written in POP-2 itself.
Much of this later compiler work was funded by Conversational Software Ltd,
a spin-off company from the Department under the Chairmanship of Donald
Michie.
I was the Technical Manager of CSL, and the Managing Director was Peter
Burt who is probably the only person connected to POP-2 to achieve
perpetual fame - he is now the Treasurer and Chief General Manager of the
Bank of Scotland - his is the signature on the Scottish pound notes and
fivers etc!!
Robert Rae (now with AIAI in Edinburgh) was one of many who later slaved at
enhancing the 4130 and DECsystem 10 implementations.
There were two main POP-2 reference manuals published in addition to
articles in the Machine Intelligence series:
The "Blue Book": "POP-2 Papers" by R.M. Burstall, J.S. Collins and R.J.
Popplestone, Edinburgh University Press, 1968.
and
The "Silver Book": "Programming in POP-2" by R.M. Burstall, J.S. Collins
and R.J. Popplestone, Edinburgh University Press, 1971.
As Rod Burstal and Robin Popplestone wrote in "Programming in POP-2":
"POP-2 is a new computer language. Conceptual affinities can be traced to:
1. John McCarthy's LISP (1962), from which it takes ideas for handling
non-numerical objects of computation (lists).
2. Christopher Strachey's CPL (1963) and Peter Landin's ISWIM (1966),
which foreshadow the aim of making a programming language into a notation
with full mathematical generality, akin to algebra.
3. Cliff Shaw's JOSS (1964), which it resembles in its 'conversational'
facilities.
[ Note: Those who baptized this group with its first irrelevant flame
war over the lack of a BASIC newsgroup, should be interested to know
that JOSS is also the grand-daddy of BASIC ]
4. Robin Popplestone's POP-1 (1968) of which POP-2 represents a rationalized
and greatly extended development.
[ Note: 1968 is the date of publication of Robin's paper on POP-1 in
Machine Intelligence 2. POP-1 and its precursor COWSEL had been around
for several years previously. The first POP-2 reference manual
appeared in the same book, and POP-2 had already been running for at
least a year - was Robin stuck for a paper to present at the
conference? (:-)
"Machine Intelligence 2", edited by E. Dale and D. Michie, Oliver & Boyd,
Edinburgh, 1968 ]
"These ingredients have produced a powerful but compact language for
non-numerical programming. POP-2 was designed for implementation on a
medium-sized machine with a modest investment in system programming.
[ Ha - it was easy for THEM to say that! (:-) ].
At Sussex, Frank O'Gorman later implemented a Pop2 in a mixture of
Algol-68 and Pop2 for the ICL 1906A in the late 1970s. It was used
for a while on a vision research project led by Max Clowes, using an
ICL machine at the Rutherford Lab to which they had a remote
connection.
[rp]
> [as]
> I believe the incremental compilers for Lisp in the USA used not to
> garbage collect compiled functions (nor arrays?) until recently (mid
> 80s??) whereas compiled Pop-2 functions were already garbage
> collectable by the time I met Pop-2 in 1972, and in every other Pop
> system I have met.
Naturally, since we saw POP-2 as a functional language, code blocks were
always garbage collected (except of course for the built-in functions), as
were all other data-structures. This was made quite easy by the fact (a)
that jumps were relative in the 4100 series (full marks to Tony Hoare) thus
simplifying relocation and (b) that the POP compiler could only generate a
small subset of the machine instructions. Our task was complicated by the
fact that addresses in instructions were limited to 15 bits, and therefore
we had to keep references in a cage (originally the current value of all
variables was held in a reference just like any reference made by consref).
[ir]
Hmmm, we seem to have gone from 1963 to 1672 but that's when the
conversation stopped. I think Aaron could comment best on what happened
after that at Sussex.
as - Aaron Sloman, Birmingham University
ir - Ian Rogers, Sussex University
jl - Jonathan Laventhol, D. E. Shaw & Co.
rl - Rudi Lutz, Sussex University
rp - Robin Popplestone, Massachusetts University
|