The Pop-11 Language



The Pop-11 language is similar to Lisp in power, but with a more traditional (some would say readable) syntax. Pop-11 is the main implementation language of the Poplog programming environment. Its features include:

Raves on Pop-11

In a survey of Alvey funded projects conducted by Ken Hartley at the Rutherton Appleton Laboratory:

``Only three languages were rated `good' by all users on a `good/indifferent/poor' scale: POP-11, PARLOG, and C++. Of these three, POP-11 had the most users. The complete list of languages mentioned included PROLOG, LISP, C, PASCAL, FORTRAN, ADA, and others.''
- p55, [Sloman89].

Another quote:

``For me the ideal programming language would be an artful blend of Pascal, Lisp, and Forth with a dash of Smalltalk and Prolog. From Pascal it would take clean syntax and block structure that can make programs both readable and beautiful. From Lisp it would take weak data typing, list processing, and the notion that procedures are indistinguishable from data. From Forth it would take the ideas of extreme interactivity, with executable subprograms, incremental compilation, and a simple compiler the programmer can understand, and whose services you can invoke from a user program. From Prolog it would take the built-in pattern matching and database facilities. My ideal language appears to exist already. It's called Pop-11.''
- Dick Pountain (Byte, May 1988)

Basically, it's just amazingly cute!

More Information

You can find more information in the Pop-11 FAQ list (organised by Ian Rogers) and on the Poplog pages.

Robin Popplestone (one of the original authors of Pop) also has an interesting document on the early development of Pop.

comp.lang.pop is dedicated to the Pop-11 language (those without news access can use popforum instead). You can find an archive of the group at Birmingham.

The commercial data-mining tool Clementine was originally developed in Pop-11.

Pop-11 Implementations

Pop-11 is one of the languages in the Poplog programming environment. Poplog is available under an open-source licence from

Pop-11 References

[Anderson89] James Anderson (ed), Pop-11 Comes Of Age, Ellis Horwood, 1989.

[Barrett85] Barrett, Ramsey, and Sloman, POP-11: a Practical Language for Artificial Intelligence, Ellis Horwood, 1985.

[Barrett87] Barrett and Ramsey, Artificial Intelligence in Practice:Examples in Pop-11, Ellis Horwood, 1987.

[Burstall68] Burstall, Collins, and Popplestone, Programming in Pop-2, University Press, Edinburgh, 1968.

[Burton87] Burton and Shadbolt, POP-11 Programming for Artificial Intelligence, Addison-Wesley, 1987.

[Davis76] Davies, D.J.M., POP-10 Users' Manual, Computer Science Report #25, University of Western Ontario, 1976.

[Gazdar89] Gazdar, G. and Mellish, C., Natural Language Processing in POP-11, Addison-Wesley, 1989.

[Laventhol87] Laventhol, J., Programming in POP-11, Blackwell Scientific Publications Ltd., 1987.

[Popplestone94] Robin Popplestone, A Typed Operational Semantics based on Grammatical Characterisation of an Abstract Machine, University of Glasgow Technical Report, 1994.

[Popplestone94b] Robin Popplestone, Specifying Types by Grammars: A Polymorphic Static Type Checker Operating at a Stack Machine Level, University of Glasgow Technical Report, 1994.

This report describes an experimental type-checker for the POP-11 language, which, being an open-stack language like Forth or PostScript, has acted as a forcing-frame for the grammatical approach. Functions are regarded as parsing the stack for their arguments and generating their results. Both arguments and results belong to languages specified by a grammar.

[Price91] Price, C.J., Using Flavours in PopLog, In: PLUG-90, Oxford. 1991 (August).

[Sloman89] Aaron Sloman, The Evolution of Poplog and Pop-11 at Sussex University, Chapter 2, [Anderson89].

[Sloman95] Aaron Sloman, Primer, a work-in-progress primer on Pop-11. Versions are available from Birmingham in ASCII, compressed ASCII, compressed PostScript, and 2-up compressed PostScript.

AjH Adrian Howard (