Early POP. 
Author Message
 Early POP.

> Am I right in thinking that that version was mostly written in
> assembler?

The device routines were inherited from the Minimac project, and were
written in assembly code by Dave Pullin. Basic functions (+ - * / front
back subscr etc. ) probably including hd and tl were written in assembly
code, as was the garbage collector. The rest was written in POP 1.5,
which was a reverse polish language derived from POP-1 but with POP-2
semantics in mind. Originally, the compiler was written in POP 1.5,
although chunks of that, together with other functions, were recoded in
assembly code.  POP 1.5 was compiled by a compiler written in POP-1 into
an object code format (of our own devising) on punched paper tape. This was
read in by an assembly-code program to build a POP-2 system.

> 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).

Most other POP-2 systems were I believe written in assembly code by sundry
virtuosi of that art. One exception was Hamish Dewar's implementation in
the IMP language for the English Electric clone of the IBM 360.

Robin Popplestone.

Sun, 02 Jul 1995 22:03:00 GMT  
 [ 1 post ] 

 Relevant Pages 

1. comp.lang.pop (and pop-forum) FAQ available in html

2. comp.lang.pop (and pop-forum) FAQ available in html

3. comp.lang.pop -> pop-forum gateway

4. comp.lang.pop and pop-forum gateway

5. pop FAQ (was Q: what is pop?)

6. news-relayFrom: pop@uucp.rabbit (pop)

7. POP and pop.py and/or poplib

8. Pop-up windows don't pop up for sub-widgets

9. D5 deployed apps - early observations

10. J 3.2 - Early vs. Late Verb Bindings

11. ibeams on apl/1500 and other early primitives in APL

12. Some early D5 goodies


Powered by phpBB® Forum Software