School of Computer Science
The University of Birmingham
In collaboration with
School of Cognitive and Computing Sciences,
The University of Sussex.


"The Free Poplog Portal"

FREE VERSIONS OF POPLOG
INCLUDING POP-11, LISP, PROLOG, ML
POPVISION LIBRARY, SIMAGENT TOOLKIT....

JUMP TO CONTENTS LIST

NEWS

Frames-free web site

This file is accessible as either

  1. http://www.cs.bham.ac.uk/research/poplog/freepoplog.html
  2. ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html

Note: "POPLOG" is a trade mark of the University of Sussex.

Poplog was developed in the School of Cognitive and Computing Sciences at the University of Sussex and at ISL (now part of SPSS), and is distributed free of charge by courtesy of both organisations.

Additional code and documentation listed below were produced by members of the University of Birmingham and other organisations. All of it is now free of charge with open source.

Copyright Notice

The distribution terms and copyright notice (modelled on XFree86) are available in http://www.cs.bham.ac.uk/research/poplog/copyright.html.

Overview

This file contains pointers (1) to a number of complete Poplog systems for various combinations of machine and operating system, (2) to sources, (3) to documentation about Poplog and Pop-11, (4) to various add-ons supporting teaching and research in AI and Cognitive Science, developed at Sussex, Birmingham, and elsewhere, including a package for research and teaching in vision, a powerful and flexible X window-based GUI package implemented in Pop-11, the SimAgent toolkit for developing sophisticated agent architectures, and Robin Popplestone's Scheme in Pop library. There are also (5) some "easy" to install complete packages containing the add-ons.

Readers who know nothing about the Poplog system or its languages may find it useful to look at this introductory overview http://www.cs.bham.ac.uk/research/poplog/poplog.info.html and also the comp.lang.pop newsgroup informal FAQ. http://www.cs.bham.ac.uk/research/poplog/comp.lang.pop.faq.html

Experts may find it useful to look at the draft User Guide to get a feel for the variety of facilities available in poplog.

See also http://www.poplog.org a site set up by two experienced users of Poplog and Pop-11. It includes archives of postings to comp.lang.pop, code libraries, and a partial mirror of this site, among other things.

CONTENTS

GENERAL INFORMATION
DOWNLOADABLE VERSIONS OF POPLOG

CURRENT VERSIONS FOR LINUX AND UNIX

OLDER VERSIONS FOR UNIX-LIKE SYSTEMS

PC POPLOG FOR WINDOWS 95/98/2000, NT, XP etc.



OTHER PACKAGES
DOCUMENTATION DIRECTORIES
PACKAGES AND AI TEACHING MATERIALS


EASY TO INSTALL COMPLETE PACKAGES


GLOBAL OPEN SOURCE POPLOG LIBRARY (GOSPL)

THE CONTRIB DIRECTORY


RELATED POPLOG SITES


Use Google to search for information about Poplog or Pop-11

If you include in your search terms "poplog" or "pop-11" or "pop11" or "ved" or "xved" or some combination of those, the chances are that you will find what you want faster than finding it by browsing this or any other site!

Google


GENERAL INFORMATION

What is POPLOG?

For information about Poplog and Pop-11 see http://www.cs.bham.ac.uk/research/poplog/poplog.info.html also accessible as ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/poplog.info.html

For many years Poplog was an expensive commercial product, first sold commercially by Sussex University for use on VAX+VMS (for UK£3,000) 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 research, development and teaching. By about 1992 sales had exceeded $5,000,000.

For more information about the history of Poplog and its core language Pop-11 see the poplog.info.html file, mentioned above.

Site for free downloadable version

Poplog version 15.53 was the first version to be made generally available free of charge, including all sources, since about 1982, the year when commercial sales were taken over by Systems Designers Ltd.

Some older versions listed below are also now available free of charge. (They may be brought up to date later if facilities become available for rebuilding them.)

V15.53 (produced in July 1999) included some additions to support recent versions of Linux, and a few minor bugfixes. Apart from that it was the same as the commercial version, used world-wide in the Clementine data-mining system.

Since then Poplog has undergone some development and bug-fixes. New versions have been made available at the Birmingham Poplog site, and are announced elsewhere in this file. An older version, Poplog Version 15.5 was made available for use on Windows, but lacking the graphical capabilities available in poplog on Linux, Unix and VMS systems. The OpenPoplog project at Sourceforge aims to remove the difference.

Reduced versions supporting Pop-11 as a scripting language may become available later, e.g. at www.poplog.org.

As explained below, A directory for bugreports and "bugfixes" has been set up for corrections to library and documentation files.

Coordination of further development work is managed through the comp.lang.pop newsgroup and the pop-forum email list. There is also a more specialised email for those who wish to be involved in detailed technical discussions of development work. If you wish to join the poplog-dev email list write to A.Sloman@cs.bham.ac.uk.

The free Poplog distribution directory

For the time being the main location for free versions of Poplog is the new/ subdirectory. The contents are described below.

There is a specially packaged, easy install version of Poplog for PC+Linux.

Information about Poplog for Windows is available.

A mirror site for Poplog, with some additional packages is at http://www.poplog.org.

Installation notes and Copyright notice:

General instructions for installing Unix and Linux poplog, are in the install.txt file. There are special instructions for the packaged versions of linux poplog described below. In particular for the main PC+linux package there is now a very simple short-cut installation process.
Instructions for the Windows version of Poplog V15.5 are included in the windows poplog package (below), and separately available in the file new/pcwinpoplog.txt
(Windows poplog V15.53 is only for experts. For more details see this section below, or this directory http://www.cs.bham.ac.uk/research/poplog/winpop/ ).

The copyright notice is available in http://www.cs.bham.ac.uk/research/poplog/copyright.html

A draft User Guide is available.

To make installation easier, some sample scripts for installing packages and building saved images are in the image-scripts directory, packaged in the file image-scripts.tar.gz

Documentation on rebuilding poplog can be found in sysdoc/rebuilding.

Utilities to help with re-linking or rebuilding will go in the tools/ subdirectory, including a script which will be useful if you have difficulties re-linking unix versions of poplog.

A shell script for installing "local extensions" received as gzipped tar files is available here: http://www.cs.bham.ac.uk/research/poplog/com/install_package and documented here http://www.cs.bham.ac.uk/research/poplog/tools/install_package/install_package.txt


DOWNLOADABLE VERSIONS OF POPLOG

Some of the downloadable versions are "current" whereas others are older because we have not had access to machines on which to update them.

Current versions of Poplog for Linux and Unix:

At present the following implementations of Poplog V15.53 are available, in gzipped tar file format:

Older versions of Poplog:for unix-like systems

Additional (slightly older) implementations for other platforms are available, as follows:

PC NT/XP/Windows versions of Poplog:

At present (March 2004) there are only partial implementations of Poplog for windows. In particular they do not provide the Poplog graphical facilities that work on the X window system on Unix and Linux. The Open Poplog project aims to remedy this eventually, but in the mean time anyone wishing to run the full linux PC version of poplog on windows can do so by using the VMWARE package available from http://www.vmware.com/ VMWARE is not free, but it reported to work very well. For instance the hybrid-sheepdog demonstration here http://www.cs.bham.ac.uk/research/poplog/figs/simagent/ was produced by an MSc student using Linux PC poplog, under Vmware on a laptop running Windows XP.

For those who do not wish to use Vmware the following options are now available.


VED-LIKE INTERFACE FOR EMACS USERS

The Poplog system was built around the integrated editor Ved (implemented in Pop-11), which includes facilities for rapidly accessing help files, teaching documentation and library sources through "hypertext links", and for transferring commands to the incremental compiler(s) and reading output from the compilers into an editor buffer. This makes learning, development and testing very easy, especially for novice programmers.

A number of Emacs users have developed a package that supports similar use of Pop-11 and other Poplog languages from Emacs, and includes utilities for reading the Ved "graphics enhanced" documentation files. The package can be downloaded here: emacs.tar.gz or browsed online here http://www.cs.bham.ac.uk/research/poplog/emacs/
This is already included in the larger "complete" packages.


BUGREPORTS AND BUGFIXES

Bugfixes are recorded in this directory tree. http://www.cs.bham.ac.uk/research/poplog/bugfixes/
The BUGREPORTS file lists bugs and fixes (where available) in reverse chronological order. The file ALLFILES file lists all the files in the bugfixes directory, in reverse chronological order.

Asking for help or submitting bug reports

Please submit bugreports to the comp.lang.pop newsgroup or the pop-forum email list, not to any individual. Before submitting a report on a problem it is worth looking at this form for bugreports. Following the instructions will make it more likely that someone can help you.


DOCUMENTATION DIRECTORIES

MAN Files, Startup Scripts and User Guide

In the browsable directory http://www.cs.bham.ac.uk/research/poplog/setup/ there are are various documents, shell scripts, and poplog startup scripts (for pop-11 and Ved), which can be copied and installed on a system where Poplog is made available. These are included in the bham poplog packages.

The Draft User Guide, will give experienced programmers an idea of the contents of Poplog. It shows how to start up Poplog running one or more language compilers possibly with additional saved images, either starting in the editor or talking directly to a compiler. It is partly derived from the "man" file originally distributed with Poplog, and is now the basis for the recommended man file for local installation. The User Guide can be inspected here: http://www.cs.bham.ac.uk/research/poplog/setup/man/man1/poplog.html

The whole "setup" directory, including User Guide, man files, sample user startup scripts and copyright notice can be fetched in this file: http://www.cs.bham.ac.uk/research/poplog/setup.tar.gz

Browsable Poplog Documentation (Pop-11, Prolog, Lisp, ML, and Rebuilding poplog)

Detailed system documentation for Poplog, Pop-11 and the other Poplog languages (Prolog, Common Lisp, and Standard ML), can be found in the doc/ subdirectory.

All the contents of this directory are also available in a gzipped tar file

See especially the system documentation directory for Poplog and Pop-11 doc/popref/.

The documentation files in the doc/ subdirectory have had all the special VED graphic characters removed, so they should be readable in any browser.

The Poplog implementation of Common Lisp is compatible with Steele's book CLTL2. For missing ANSI Lisp features see doc/lisphelp/bugs

The Birmingham local directories included in the doc/ directory (bhamteach and bhamhelp) contain some online teaching material for an introductory AI programming course, and other things. The bhamteach.tar.gz file mentioned below includes code and documentation. (For windows users it is bhamteach.zip)

Porting and rebuilding information

For people interested in rebuilding Poplog after installing new source files, or porting to new platforms, the information in the sysdoc directory may be useful. In particular, there is a (draft) guide to rebuilding poplog in the sysdoc/rebuilding file.

The complete sysdoc directory is available as a gzipped tar file http://www.cs.bham.ac.uk/research/poplog/sysdoc.tar.gz

The browsable Pop-11 Primer (and other versions)

A browsable primer for Pop-11 is in primer/START.html
It can also be fetched as a gzipped tar file for local installation. pophtmlprimer.tar.gz

Or a chm file for reading in a microsoft windows help browser, kindly converted by Michael Malien.

CHM files (Compiled HTML files) are explained at http://www.techscribe.co.uk/techw/compiled_html.htm and at this Microsoft web site
Nils Valentin kindly informed me that a tool for extracting html files from a chm file is obtainable here http://66.93.236.84/~jedwin/projects/chmlib/
Instructions for compiling and using the chmlib package are available here: http://www.linux-magazine.com/issue/31/OpenOfficeConverters.pdf
However, for users of linux/unix systems it will normally be more convenient to fetch one of the other packaged versions of the primer.

There are also other versions of the primer available:


PACKAGES AND AI TEACHING MATERIALS


A "bundled" package to mirror the Birmingham installation.

This is available in a single 2 Mbyte (approx) file http://www.cs.bham.ac.uk/research/poplog/bham.tar.gz containing a basic collection of the teaching materials and pop-11 utilities in the bhamteach package mentioned below, and also the rclib and rcmenu packages, installation scripts, scripts for rebuilding saved images, and the "!" pattern prefix which allows the pop-11 pattern matcher to use lexically scoped variables.

That is included, along with more packages the larger downloads for installing linux poplog. A medium-sized package for people who already have poplog but not the Birmingham extensions is in the 'popextras' package.


The RCLIB and RCMENU X-based user-extendable graphical interface tools.

RCLIB provides powerful object oriented tools for building graphical interfaces, including control panels with sliders, dials, scrolling text panels, etc. It supports interactive graphical interfaces to the Agent toolkit described below. Some examples can be viewed in http://www.cs.bham.ac.uk/research/poplog/figs/rclib


The SimAgent toolkit, including Poprulebase

The SimAgent is a very general and flexible toolkit for exploring agent architectures, with graphical display facilities based on RCLIB described above. The core of SimAgent is a powerful forward chaining production system interpreter, Poprulebase, described here, which supports integration of symbolic and subsymboiic mechanisms (e.g. neural nets). Multiple concurrent instantiations of Poprulebase define a processing architecture for an agent. The SimAgent toolkit supports development of systems in which multiple such agents can co-exist and interact. SimAgent was described in the March 1999 issue of Communications of the ACM.

Some movies showing some of the features of SimAgent are here (with thanks to Mike Lees at Nottingham for the Boids and Tileworld examples): http://www.cs.bham.ac.uk/research/poplog/figs/simagent/

For a detailed overview of the toolkit see http://www.cs.bham.ac.uk/~axs/cogaff/simagent.html and the slide presentation using PDF or Postscript at: http://www.cs.bham.ac.uk/~axs/misc/draft/toolkit.pdf
http://www.cs.bham.ac.uk/~axs/misc/draft/toolkit.ps

The toolkit is now included in the Birmingham Linux Poplog package. bug can also be downloaded separately:


David Young's Popvision library

David Young at the University of Sussex has produced some excellent teaching materials and tools for image processing and AI vision, and has given permission for these to be distributed. A large collection of mathematical tools and array manipulation tools, including interfaces to the BLAS and LAPACK packages, has been added, constituting a matlab-like facility in Poplog, which is free and open source.

An overview of the teaching materials in the popvision package is available here http://www.cogs.susx.ac.uk/users/davidy/teachvision/vision0.html
The programs work fast because there's a mixture of Pop-11 and C. The package includes scripts for compiling the C sources on solaris, linux and alpha Unix systems. The programs and documentation can be browsed online in http://www.cs.bham.ac.uk/research/poplog/popvision
(See especially the popvision/help/* files -- though you may have slight problems with the "VED graphic" characters in a Web browser.)

The whole package can be fetched from http://www.cs.bham.ac.uk/research/poplog/popvision.tar.gz

This also includes David Young's teaching material on on multi-layer perceptrons.

The Array manipulation and Linear Algebra Packages in Popvision

The Popvision package includes three new libraries (added in 2004) that make available a very rich collection of array manipulation facilities and mathematical facilities including the BLAS and LAPACK linear algebra packages, all now accessible interactively from pop11.

The popvision tar file can be installed using the install_package script, which will untar the package into the directory $poplocal/local/ where it will create $poplocal/local/popvision/ with appropriate sub-directories, and also $poplocal/local/lib/popvision.p for easy access using the Pop-11 command uses popvision;


David Young's Pop11 Libraries at Sussex

David Young's poplog web page at Sussex University includes some additional facilities that may be found useful, including


An older neural net library

David Young at the University of Sussex previously produced some neural net facilities which were considerably extended by Julian Clinton. A slightly modified version of the resulting package is available here. The system can be browsed online in http://www.cs.bham.ac.uk/research/poplog/neural
(See especially the neural/help/* files -- though you may have slight problems with the "VED graphic" characters in a Web browser.)

The package can be fetched from ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/neural.tar.gz
It can be installed using the install_package script


The Simworld package

http://www.cs.bham.ac.uk/research/poplog/linux-cd/simworld.tar.gz
is a demonstration package by Matthias Scheutz showing how to use sim_agent to explore evolutionary processes in fairly simple agents. Requires newkit.tar.gz
Introductory documentation can be found in this directory.
The tar file can be installed (in unix or linux poplog) using the install_package script.

See also http://www.nd.edu/~airolab/


The PopScheme System (Scheme implemented in Pop-11)

This was developed by Robin Popplestone at The University of Massachusetts at Amherst and was used there for teaching for several years. It became freely available in October 1999. A copy is available here, which has been re-packaged to make it more portable (the original tar file had absolute path names, for instance). This has not been fully checked, though it does work with the examples.scm test file provided in the package.

There are two formats for downloading, The second one will probably be easier to install on Windows, but I have not checked that this package works in Windows poplog.

If in doubt check out the version at Umass, described in ftp://www-edlab.cs.umass.edu/pub/cs287/README

Robin Popplestone's lecture notes on programming paradigms are also available here.

Robin,was one of the original designers of the language that first became widely known as POP2, on which Pop-11 was based. He retired from Umass a couple of years ago and moved back to Scotland, so I don't know how much longer the files at Umass will remain available.


Austin Tate's Nonlin planning system

The influential Nonlin hierarchical partial order planning system, developed by Austin Tate in the University of Edinburgh is available in a browsable and downloadable from here: http://www.cs.bham.ac.uk/research/poplog/nonlin and also from the Edinburgh Nonlin Web site: http://www.aiai.ed.ac.uk/project/nonlin/

Austin has put a lot of effort into making it run as it used to in a much earlier version of Poplog, so that it works in both Windows poplog and Linux/Unix poplog (but not yet in the Poplog editor Ved, as it expects to interact directly with the terminal).

Further information is here http://www.cs.bham.ac.uk/research/poplog/nonlin/AREADME.txt

If you wish to play with Nonlin, fetch the zip file. Instructions and historical information regarding Nonlin, including a review of the package, are in the http://www.cs.bham.ac.uk/research/poplog/nonlin/readme.txt file.

Further information, including sample problem domain definitions using the Nonlin task formalism (TF) can be found in these directories:
http://www.cs.bham.ac.uk/research/poplog/nonlin/nonlin
http://www.cs.bham.ac.uk/research/poplog/nonlin/nonlin/tf/

Nonlin is also available in Edinburgh here: http://www.aiai.ed.ac.uk/project/nonlin/

The original 1976 technical report defining Nonlin has been scanned in and is now available as a PDF file (6.75Mbytes).

Tate, A. (1976) "Project Planning Using a Hierarchic Non-linear Planner", D.A.I. Research Report No. 25, August 1976, Department of Artificial Intelligence, University of Edinburgh.
It is also available from the Birmingham site.

Further information can be found by giving "nonlin+planner" to google.


An Online Eliza Chatbot in Pop-11

Eliza is a very famous very old AI program simulating a non-directive psychotherapist originally created as a demonstration of AI programming by Joseph Weizenbaum. (See this short Biography). A simplified version of Eliza, (a kind of Chatbot Eliza) implemented in Pop-11 is now online here http://www.cs.bham.ac.uk/research/poplog/eliza/eliza.php
Between September 2002 and February 2004 this on-line Pop-11 Eliza had answered over 6000 questions. It is just a toy, but is less repetitive than many of the online versions of Eliza (partly because of the variety of rules and partly because of the way rules are randomised on each cycle) and it has been of considerable educational value in introductory AI courses. The code for the Pop-11 eliza is available for use with poplog. (A slightly revised version is used for the web site, available here: here).

A teach file introducing students to the task of building their own version of Eliza in Pop-11 can be found here http://www.cs.bham.ac.uk/research/poplog/teach/respond

A different design, produced by Riccardo Poli, for a potentially much more sophisticated Eliza, because it can maintain and manipulate arbitrary memories of its interactions in the Poprulebase database, can be found in the middle of this introduction to Poprulebase http://www.cs.bham.ac.uk/research/poplog/newkit/prb/teach/rulebase


OTHER PACKAGES

Note: most of the packages will be in the form of a gzipped tar file or a zip file, e.g. bhamteach.tar.gz bhamteach.zip. These should be unpacked in the $poplocal/local/ directory in order to be conveniently accessible. You can put them in a different place if you understand how to manipulate the search lists used by Ved and the Poplog compilers.
If you have fetched poplog from Birmingham you should already have a shell script in $poplocal/local/com/install_package that can be used to install most of the tar.gz files without hassle. If you don't have it you can fetch it from here http://www.cs.bham.ac.uk/research/poplog/com/install_package (Don't forget to make it executable before using it. See MAN chmod.)

CORE BIRMINGHAM EXTENSIONS FOR TEACHING (bhamteach)

A collection of teaching files, help files, autoloadable utilities and demonstration libraries is available packaged for the convenience of Birmingham AI students who wish to duplicate the teaching environment on their own machines running Poplog.

There are two bundles available

The package provides AI tutorial files, help files and supporting libraries produced mainly at Birmingham for teaching programming and elementary AI, including some Ved/Xved tutorials. Some of these are updated versions of the teach files and libraries distributed with Poplog.

It includes the pattern prefix "!" which allows the Pop-11 pattern matcher to be used with lvars variables (lexical locals). The complete list of contents can be found here. The Pop-11 code files and the documentation files can be browsed online.

WARNING

Several of the files in the "bhamteach" package are later versions of the same files included in the "standard" Poplog distribution. In some cases they correct mistakes in the older versions. In other cases they merely include extensions or enhancements, such as the use of the pattern prefix, which reduces the scope for bugs arising from use of the pattern matcher with dynamically scoped variables.

Most of these revised versions of old files were developed at Birmingham before Poplog became available free of charge, and were not incorporated into the standard distribution. Consequently if installed they will often "shadow" the "standard" versions, and this can cause confusion. Some of the files come from Sussex University, not Birmingham and are made available with permission of the authors.

It is hoped that if resources become available later, the revised versions will be merged with the standard files and the distributed packages rebuilt.

NOTE for PC users:

the bhamteach.zip package for Windows/NT poplog does not include any of the graphical facilities since they are usable only with unix/linux/VMS versions of Poplog.

SOME ADDITIONAL BROWSABLE DIRECTORIES

The Pop-11 and AI teaching and documentation files included in the bhamteach tar package can be browsed online in these directories:

Not all the files in those directories are included in the "bhamteach" package. Not all of them are concerned with Poplog and Pop-11. E.g. some are introductions to Unix facilities, such as teach/Unix.intro.

There are other online browsable files included in various packages some of which, though not all, are mentioned elsewhere in this file. E.g.


ADDITIONAL UTILITIES (E.G. PATTERNS, NEWS, LATEX EMAIL)

Several additional "packages" are available, mostly developed in the University of Birmingham. All these are compressed tar files, or simply tar files. These should be unpacked in the $poplocal/local/ directory in order to be conveniently accessible. You can put them in a different place if you understand how to manipulate the search lists used by Ved and the Poplog compilers.


EASY TO INSTALL COMPLETE PACKAGES

GLOBAL OPEN SOURCE POPLOG LIBRARY (GOSPL) SITE

Steve Leach and Graham Higgins have begun to develop a Global Open Source Poplog Library (GOSPL) site, at http://www.poplog.org/gospl/

This contains a growing collection of contributed programs.

THE CONTRIB DIRECTORY

The directory contains a number of packages and utilities made available to Poplog users. This includes source code from various books, including The complete contents of the contrib directory are available in a gzipped tar file: contrib.tar.gz.


RELATED POPLOG SITES

It is expected that a number of mirror sites will be developed.

www.poplog.org

is the first of these. It duplicates some of the contents of this directory and also includes the GOSPL site described above.
WARNING: downloads of versions of poplog at www.poplog.org may be out of date. It is best to use the downloads from this site, if at all possible. However there are useful additional resources and tools at the www.poplog.org site.

Information for mirror sites

To facilitate this there is a directory containing links to material in this directory which is suitable for fetching to a mirror site. http://www.cs.bham.ac.uk/research/poplog/.for.mirrors These are mostly symbolic links to gzipped tar files, or directories containing gzipped tar files and some documentation directories. Links not included here need not be copied to mirror sites.

OpenPoplog at Sourceforge

See http://www.cs.bham.ac.uk/research/poplog/openpoplog.html


OTHER FREE SOFTWARE SITES


Chronological Record of Contents

In order to help those developing mirror sites determine what is new in the Free Poplog directory, there is a file created using

    ls -FglRt | gzip

which gives a reverse chronological listing of the complete free poplog directory. This file is updated after all major changes.


Suggestions for improvement are welcome.

This file maintained in Lynx-friendly format by:
Aaron Sloman
http://www.cs.bham.ac.uk/~axs/
Last Updated: 7 Jan 2005