Hello Pop People --
I'm surely glad to see comp.lang.pop. Though I work in New
York York and C, it's really a pleasant blast to hear the old
languages and accents.
A little history lesson for those on the net.
There was a Pop1 but I don't know anything about it.
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. A
Pop implementation at the University of Sussex (which is in
ENGLAND) was called Pop11 after the PDP-11 it ran on.
Modern Pop11 was developed primarily at the University of
Sussex, and did fabulous things to an already pretty cleverly
designed language. The best modern book (shame on me) is
'Programming in Pop11', by Jonathan Laventhol, 1987, Blackwell
Scientific, Oxford and Palo Alto. But in all seriousness, I
can recommend all the books on Pop11: Barret, Ramsey and Sloman
was the first. A good one for perspective is 'Pop11 Comes of
Age", James Anderson (ed), 1989, Ellis Horwood, which is was
published when Pop was 21 years old, and covers a lot of
interesting history and different points of view.
A snippet? Sure:
define fac(n);
var n;
if n = 0 then
1
else
fac(fac(n - 1) * n)
endif
enddefine;
A better snippet:
define recursivemember(item, list);
var item, list, element;
if list = [] then
return(false)
endif;
for el in list do
if el = item then
return(true)
elseif islist(el) then
return(recursivemember(item, el));
endif
endfor;
return(false);
enddefine;
A PD interpreter? I've got a toy interpreter or two somewhere
which I'll try to dig out. I don't have most of my old work
with me, so we might be unlucky.
A big thanks from Manhattan for setting this up.
Cheers,
J.
---------------------
Jonathan Laventhol
Systems Administrator
D. E. Shaw & Co.
<jcl@deshaw.com>
---------------------
|