The Free On-line Dictionary of Computing (18 March 2015):
An early time-sharing operating system
developed in Edinburgh by Robin Popplestone and others. It
was inspired by MIT' Project MAC, via a "MiniMac" project
which was aborted when it became obvious that Elliot
Brothers Ltd. could not supply the necessary disk storage.
Multipop was highly efficient in its use of machine resources
to support symbolic programming, and effective - e.g. in
supporting the development of the Boyer-Moore theorem prover
and of Burstall and Darlington's transformation work.
It was not good at supporting the user programs which were
then the standard fare of computing, e.g. matrix inversion.
This arose from the fact that while the POP-2 compiler
generated good code for function call (which is a lot of what
layered systems like operating systems do) it did not generate
efficient code for arithmetic or store access, because there
was no way to police the generation of illegal objects
statically. (Hindley-Milner type checking did not exist).
Indeed, since many OS features like file-access were performed
by function-call (of a closure) rather than an OS call
requiring a context switch, POP-2 actually gained
Multipop68 was efficient primarily because the one language,
POP-2 served all purposes: it was the command language for the
operating system as well as being the only available
programming language. Thus there was no need to swap in
compilers etc. All store management was accomplished
uniformly by the garbage collector, as opposed to having
store management for the OS and store management for each
There was a substantial amount of assembly language in
Multipop68. This was primarily for interrupt handling, and it
is difficult to handle this without a real-time
[Edited from a posting by Robin Popplestone].