This is part of the Free Poplog Portal Warning The www.poplog.org web site seems to be defunct (June 2009)
The core language, Pop-11, in some ways like Python, in other ways like Lisp, can also be used to introduce a variety of common programming paradigms, including use of loops, recursion, co-routines, rule-based programming, event-driven programming, list processing, pattern matching for structure manipulation, numerical programming, array programming, use of object oriented programming with multiple inheritance, and uses of higher order functions and closures (as in Scheme). A linear algebra package based on Lapack and BLAS is described here, here, and here.
A subset of Pop-11 with graphical facilities provides the functionality of the LOGO Turtle, but with many additional features available, illustrated here and in this tutorial introduction to making pictures of faces, and combining graphical commands with loops, and list processing.
There are many 'teach' files developed at Sussex University,
Birmingham University and elsewhere,
introducing concepts and techniques, with exercises ranging from
simple program completion to development of whole systems, some of
them making use of packages provided by tutors to hide details for
some basic programming and AI teach files
here, including a tutorial on building
chatbot based on pattern matching
grammars, parsing. sentence
generation of stories and
some general programming including recursion and list-processing
here (with answers available);
some rule-based programming
the use of the
here and The Sussex
University Popvision tutorials
here, and a book, originally
published by MIT Press, though now out of print, providing an
introduction to Cognitive Science/AI using Pop-11 is
here. It uses an older
version of the Pop-11 syntax, which is still supported in Poplog.
A Pop-11 programming primer for people with previous programming
experience, using the current syntax is
See also: Beginners need powerful systems
Editor, documentation and libraries
The environment has many of the interactive features of interpreted languages, though the Poplog languages are all incrementally compiled to machine code for efficiency. The 'TEACH' files, and other documentation files, are accessible through an integrated visual editor (Ved, also usable as XVed, in multi-window mode), which 'knows about' the compilers, the program libraries and the documentation libraries, and is extendable since it is implemented in Pop-11. E.g. a tutorial file can have a hypertext link to other documentation or to program libraries. Programming examples can be run from inside the editor, then modified and run again, without restarting the editor or Poplog.
For Emacs users there is a conversion package that extends Emacs to support integration with the Pop-11 compiler. Another option, for people who do not wish to use a new editor is to type commands into the Pop-11 (or Prolog, or Lisp, or ML) prompt in a shell command line, while editing and reading documentation quite separate editor. This will add some inconvenience and slow down development a little. (To a 'normal' edit/compile/test loop.)
There are many libraries extending the core system to support various kinds of programming tasks. For example the SimAgent toolkit supports exploration of architectures for more or less intelligent agents. The library and documentation system make use of search lists, allowing packages and teaching materials developed by different teachers, students and researchers to be combined flexibly, strongly encouraging team teaching. (Used for many years at Sussex University.)
There is also a collection of libraries and tutorials related to computer vision, i.e. image analysis and interpretation, in David Young's "Popvision" Library including neural net, array manipulation, and linear algebra utilities.
Some of the Poplog/Pop11 graphical facilities are illustrated here, and there are movies showing some student AI projects, based on the the SimAgent toolkit.
For more information on Poplog and its history see
A history of developments in e-learning using Pop-11 and Poplog, starting at Sussex University in 1976 can be found here.
For many years Poplog was an expensive commercial product, first sold commercially by Sussex University for use on VAX+VMS (for UK£3,000, and much less for academics) in 1982, and then continually developed, ported to other platforms, and commercially supported up to 1998, first by Systems Designers (from 1983) and later by a spin-off, Integral Solutions Ltd (founded in 1989).
At one stage the commercial price was UK£7,500 (+VAT) for workstations, though the educational price was always much lower. Poplog was a solid, reliable, commercial product, used mainly, though not entirely, for AI and Software Engineering research, development and teaching. By about 1992 sales had exceeded $5,000,000.
The most famous product implemented in Poplog (mainly Pop-11) was the Clementine Data Mining system, developed by ISL, as a result of which they were bought by SPSS, so that Clementine (now called "PASW modeller"), could be integrated with their other data-mining tools (after re-writing in Java and C++, with some loss of functionality). Another product based on Poplog was a software validation toolkit produced by Praxis.
Further information is available on Wikipedia and other sites:
This file maintained by:
Last Updated: 26 Jun 2009