This is "The Free Poplog Portal"

http://www.cs.bham.ac.uk/research/projects/poplog/freepoplog.html

School of Computer Science
The University of Birmingham
In collaboration with The University of Sussex,
where Poplog was originally developed:
Informatics Department and
Centre for Research in Cognitive Science
See the "origins" section below.

NEWS: January 2020
A new 64 bit version of Linux poplog
for AMD64/X86-64 architectures,
based on a complete rewrite of Poplog internals
by Waldek Hebisch, is now available as Poplog Version 16.
http://www.cs.bham.ac.uk/research/projects/poplog/V16/AREADME.html

The current installation process combines information from Waldek's github poplog and a collection of additional poplog libraries (with code and documentation, including much teaching material) at the University of Birmingham.

NOTE: November 2021
A newly packaged version of Poplog aimed at easy download and installation for a wide range of users has been prepared by Steve Leach and Will Price. Information about it will be added here.

NEWS Provided by Andrew Ritz, October 2021
Blog post about Slitaz Poplog
SliTaz: "A secure and high performance operating system using the Linux Kernel and GNU software, providing a fast and low resource Linux OS for servers and desktops"
https://languageandthought.com/2021/10/26/poplog-teaching-research-and-development/
Andrew writes: "I've upgraded the Slitaz POPLOG VM and added a few new features. Slitaz is no longer a fully functioning operating system because the browser doesn't work anymore. However ssh does work so POPLOG can be used effectively.
The latest Slitaz Poplog can be downloaded from here:
https://languageandthoughtcom.files.wordpress.com/2021/10/poplog2014vm_release.zip


Several sections below are now out of date, but retained as evidence of the history of Poplog and various past contributions. The latest version: 64-bit Poplog (V16) is available here (including download/install information):
http://www.cs.bham.ac.uk/research/projects/poplog/V16/AREADME.html
It is intended that the installation process described
there will be replaced by a github-based installation.

Some of the details below are still relevant and some only of historical interest. Anything referring to dates before July 2019 may be irrelevant to the latest Poplog, though many of the features and benefits are unchanged.

PREVIOUS INFORMATION RETAINED BELOW
Free Versions Of POPLOG, including POP-11, LISP, PROLOG, ML
Popvision Library, SimAgent Toolkit....

Warning The www.poplog.org web site is defunct (June 2009)


JUMP TO:
Teaching Resources;
Downloads;
Contents List;
Video Tutorials on YouTube.



Poplog Plaque
Integral Solutions Ltd (ISL) and Sussex University won this ICP award in 1992, for having achieved Poplog sales of five million dollars. It was a UK Government SMART award.
See bottom of page 3 of this 1992 Sussex Bulletin
Also copied here with image extracts.

Once an expensive product, Poplog is now Free Open Source.
The Copyright Notice is very simple. It is based on the MIT/XFree86 licence and imposes no restrictions on what can be done with the system.

NB: Poplog is made available "as is" with no warranty of any kind, and no acceptance of liability for any consequences of use.


Dec 2019/Jan 2020: NEWLY PACKAGED POPLOG VERSION 16(64 bit)

http://www.cs.bham.ac.uk/research/projects/poplog/V16/AREADME.html
Thanks to massive conversion of poplog to 64bit by Waldek Hebisch.

References to 64 bit Poplog on linux below are likely to be out of date, unless they mention V16.
(The older versions of 64 bit poplog for Sparc, MIPS, Dec Alpha and other 64 bit Unix systems are no longer available, as far as I know.)

He also has a draft port of Poplog to 32 Bit ARM available for testing
http://www.math.uni.wroc.pl/~hebisch/poplog/poplog_arm.tar.bz2
His work on Poplog is based on Github: https://github.com/hebisch/poplog


Talk by Steven Leach at ECOOP London 2019

In July 2019 Steven Leach, who originally encountered Pop-11 and Poplog as an industrial user working for GEC then Hewlett Packard research centre, and made several important contributions to poplog, including the Objectclass (Object Oriented Programming) package, gave an invited talk on Poplog at ECOOP in London (contrary to the web site claiming that it was in Reims):
https://2019.ecoop.org/details/ecoop-2019-summer-school/3/POPLOG-a-pioneering-multi-language-multi-paradigm-development-toolkit-born-in-the-
His web site includes more information http://steelypip.wikidot.com/

14 Oct 2015: INSTALLATION OF 32 BIT POPLOG
(Now 'frozen')

There are downloadable scripts for installing 32-bit Linux Poplog on either 32-bit or 64-bit linux
(e.g. Ubuntu, Fedora, Scientific Linux, CentOs).
http://www.cs.bham.ac.uk/research/projects/poplog/latest-poplog#ubuntu
and on 32 bit Fedora (and other 'rpm'-based systems):
http://www.cs.bham.ac.uk/research/projects/poplog/latest-poplog#fedora

The download package and installation scripts (which include an executable 'basepop11' and build a standard set of 'saved images' that can be run) should work on either 32-bit linux or 64-bit linux, provided that you have installed the packages (listed below) required for linking and running 32-bit applications, and have the required 32-bit X window libraries, including 'development' versions of libX11, libXt, libXext and (open)motif or failing that lesstif.
The 'development' versions of libraries, as they are required for dynamic-linking to work.

OLDER UPDATES

27 Dec 2011: Linux Poplog version 15.65 (32 bit)
Available for download
Recorded changes
Previously the editor Ved worked reliably only in xterm and PuTTy windows. Other console programs claiming to emulate xterm (vt100) screen handling, failed to cope properly with the window update optimisations, e.g. when scrolling part of a screen. Disabling the screen optimisations by default now enables Ved to be used in a wider range of console windows including gnome-terminal and urxvt (and related programs).
The change requires more refreshing of the whole screen, but does not seem to be noticable with current computing and networking speeds.
The change does not affect Poplog's graphical multi-window editor, XVed.

17 Oct 2011: CAS-AI:
Poplog/Pop11 resources for Computing at School (CAS)


29 Jun 2011: (Now out of date)

Full Linux Poplog, including graphics, available in a Virtual Box Package for Windows, MAC and Linux.
This supersedes the 'andLinux' recommendation here.

29 Sep 2010: Introductions to use of Ved/XVed; the poplog text editor and programming interface (in other files)
Video tutorials on the editor now on Youtube.


26 Jun 2009 -- 10 Aug 2009

This file has been much reorganised. There is now a high level overview of Poplog and a summary of the types of teaching materials available. Please see the Table of Contents for more information, regarding systems available, and downloads.
Suggestions for further improvements (and offers of help welcome). Write to A.Sloman@cs.bham.ac.uk please.


JUMP TO CONTENTS LIST


Older News Items
Information About Teaching

WHAT IS POPLOG?

Links to information about Poplog/Pop11/Prolog/Lisp on Wikipedia
Poplog is an integrated toolkit providing a highly extendable collection of languages and tools for teaching, research and development. It is described on Wikipedia here. By default it includes incremental compilers for three powerful AI programming languages which can be used interactively both when learning to program and when developing software: as well as

Other languages have been developed in Poplog by users, but are not part of the default system. There are also extensions to Pop-11, providing language features that are not part of the core language, but are immediately available to users, including

  • Objectclass, an Object-Oriented programming extension, with multiple inheritance, described in more detail here.
  • Poprulebase, an interpreter for rule based systems, useful for "knowledge-based" programming (described in more detail here),
  • The RCLIB package, using objectclass, to provide a variety of 2-D graphical programming tutorials and tools, and including a library for drawing graphs generated in different ways.
  • The SimAgent toolkit, for building scenarios with interacting agents integrated with a 2-D display.
  • Popvision. a collection of tutorials and utilities for image analysis and manipulation, produced by David Young at Sussex University.
  • The SUPER library, a 'superdatabase' package that provides much of the functionality of Prolog but smoothly integrated with Pop-11's syntax and pattern matching facilities.

Most of Poplog is implemented in Pop-11, including the incremental compilers for all four languages and the integrated programmable editor.

Because the core language, Pop-11, makes use of incremental compilation, Pop-11 provides most of the flexibility of an interpreter and most of the speed of a compiler. (The main disadvantage is the general difficulty of porting an incremental compiler to a new platform.)

Poplog was already a well engineered, robust and highly successful commercial product in the 1990s, developed jointly by Sussex University and ISL (Integral Solutions Ltd), and marketed by ISL, who used it to develop the widely used Clementine data-mining system, until 1998, when ISL was bought by SPSS (for Clementine -- later extended and re-named PASW).

SPSS were later taken over by IBM, who still seem to have have parts of Clementine in their Business software:
https://www-356.ibm.com/partnerworld/gsd/solutiondetails.do?&solution=53501
https://spss-clementine.software.informer.com/

Poplog Prolog was used to develop the original version of the SPARK toolkit by Praxis Systems, though they now use Sicstus Prolog, as that has features not in Poplog Prolog. (There is now a free Open Source version of the toolset here.)

Some information about academic and commercial customers and products based on Poplog can be found here. After the take-over by SPSS, Poplog became free and open source. Unfortunately, by then academic usage had dropped, partly because of the high price of Poplog during the mid 1990s, partly because the full system (including graphics) was available only on expensive servers and workstations, and only a subset was available on PCs running Windows. (ISL found that the costs of sales and supports to academics were not worth the benefits, so they focused on commercial customers. In those days it was not possible to sell and support such software via the internet.)

The Linux version of poplog, ported in his own time by Julian Clinton while still working for ISL, did not become available until after SPSS bought ISL, and this website was started for Free Poplog. (Initially the port was somewhat incomplete and had a few bugs, but these were soon identified and fixed. However, changes in Linux and the C language specification, led to requirements for some further changes in Linux poplog including some problems caused by Selinux.)

Note added 17 May 2019
The above paragraph wrongly credited Clark Morton, not Julian Clinton, with the work on Linux poplog. This has now been corrected.

Size (needs to be revised for 64bit Poplog V16)
Considering that Poplog includes incremental compilers for four languages (Pop-11, Prolog, Common Lisp and ML), along with an integrated programmable editor, and a host of additional libraries and documentation, including teaching materials, the size of the system is surprisingly small: the complete 32-bit Linux download package is a little over 17MB (including all system sources, documentation and libraries, with a number of add-ons). The size was reduced for Version 15.63, partly by moving the 'contrib' package to a separate location (also in a zip file).

(The packaged self-installing windows version of Poplog V15.5 described below is even smaller.)
The uncompressed Poplog installation directory, after relinking poplog and building saved images, requires about 79MB on Linux (since Version 15.63, of which a large subset can be removed if not needed). The normal minimum process startup size for Pop-11 including the editor and incremental compiler, is around 11MB. That can be reduced by using a version linked without some of the default components, e.g. without indefinite precision arithmetic, the editor, the X window interface.

The run-time startup size goes up of course if Prolog, or Lisp, or ML (or a combination) is included, though not by much because a great deal is shared between the four compilers.

Size of Poplog V.16
The system installed at Birmingham in January 2020, including all system sources and the Poplog Packages tree, and various *.o and *.w files in src directories that could be deleted is around 105MB. Deleting the *.o and *.w files saves about 8MB.

Speed
Partly because of its compactness Pop-11 and the other Poplog languages are comparatively fast when running user code, out-performing interpreted versions of the languages, though not as fast as batch-compiled languages. (The versatility in supporting Pop-11, Common Lisp, Prolog and ML adds a small speed penalty compared with separate dedicated compilers.) The internals of poplog run very fast because they are implemented in a special dialect of Pop-11 with C-like extensions. For example, code compilation is very fast though this is partly because the compiler does not do a vast amount of optimisation. Moreover, at least one researcher at HP Research labs switched from using Lisp on a dedicated Lisp machine, to using Poplog Lisp on a general purpose unix workstation, because he found the poplog garbage collector so much faster. However, machines have speeded up so much since then that the difference would no longer be so noticeable!


NOTE: 24 Jan 2010 This section on teaching has been moved to a separate directory and expanded/improved.
All the contents of the section on teaching that used to be here are included in the new directory.


Origins of poplog

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. Between 1983 and 1998 Poplog was an expensive commercial product, sold first by Systems Designers Ltd., then ISL, though always with large discounts for academic users. Examples of commercial and academic customers, and some of the products produced using Poplog can be found in this directory http://www.cs.bham.ac.uk/research/projects/poplog/isl-docs

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.

Overview of available systems and information

The remainder of 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.

The web site at http://www.poplog.org was 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. Unfortunately the web site is now defunct.


CONTENTS
Some of these entries point to separate files


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


JUMP TO CONTENTS LIST


GENERAL INFORMATION

More information about Poplog and Pop-11

Jump to downloads section

Poplog version 15.53 was the first version of poplog 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 for other platforms listed below are also now available free of charge.
(They may be brought up to date later if facilities and resources 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 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. (June 2009: This site is now defunct.)

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

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 list (poplog-dev) 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.

A (rarely updated!) table summarising available versions of poplog is available here: http://www.cs.bham.ac.uk/research/projects/poplog/poplog-versions.html

For more background information about poplog see the WHAT IS POPLOG? section.

The free Poplog distribution directory

When Poplog version 15.53 first became available free and open source the main location for bundled versions was the http://www.cs.bham.ac.uk/research/poplog/new/ directory. The contents are described below. Since then new bundled versions have also become available, not stored there. Go to the 'new' directory only if there is not another bundle (e.g. the standard Linux Poplog bundle) that suits your requirements.

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 used to be at http://www.poplog.org. (Now defunct, alas.)

System Documentation:

Detailed instructions for installing Unix and Linux poplog, were originally in install.txt. Most users can now ignore that as there are special instructions for the packaged versions of linux poplog described below.

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

A User Guide is available, included with all the current bundled versions of poplog.

Documentation on rebuilding poplog can be found in sysdoc/rebuilding. Scripts for installing and re-linking are included with poplog.

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. (Improved version now included in PC linux poplog since Version 15.6).

Documentation on Porting poplog can be found in sysdoc/ppg (Poplog Porting Guide).

Most of poplog is implemented in an extended dialect of pop-11 (SysPop-11), so porting poplog requires a running version of poplog to do the cross-compilation.

Obsolete package installation mechanism.
A shell script for installing "local extensions" received as gzipped tar files was previously 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

Since version V15.6 This mechanism is now replaced by a new package structure in the Poplog directory tree.


JUMP TO CONTENTS LIST


OLDER NEWS ITEMS (More recent news is above.)

  • 12 Aug 2010: Poplog version 15.6.4 available
    There are some bugfixes in Poplog Common Lisp


  • 1 Oct 2009: THE LATEST LINUX POPLOG CAN BE MADE TO RUN ON WINDOWS
    How to run the latest Linux Poplog on Microsoft Windows using andLinux
    With Thanks to Christopher Martin
    (Now superseded by Virtual Box option).


  • 16 Aug 2009

    The section on teaching has been considerably expanded, and moved (Jan 2010) out to a separate directory. There is some background information to poplog as a teaching system here.
  • NEWS 1 Sep 2009 (Version 15.6301)


  • NEWS 5 Aug 2009 (Version 15.6301): Minor rationalisation and Ved error fixed

    • New minor version introduced: v15.6301
    • Old procedure that used to attempt to trap syntactic error messages going to status line in Ved removed.
    • Error messages now by default do not go to Ved's status line. You can change this by making ved_errs_on_status true. (Default is false).
    • Installation script now modified: it is no longer necessary to mention 'bham' when running it.

    NEWS 4 Jul 2009 (Version 15.63): Some rationalisation and reduction in system size

    • Moved the 'contrib' directory out of the default package and removed some old redundant files. As a result the compressed tar file for 32-bit Linux poplog (v15.63) is about 3MB smaller, i.e. about 16MB. Likewise the expanded poplog system is about 10 MB smaller.
      The contrib directory is now browsable here, and can be downloaded as a gzipped tar file or as a zip file contrib.zip (e.g. for use with Windows Poplog).
    • All Poplog documentation has been stripped of special Ved/XVed characters, so that all files can now be read in any editor, and also in any Web browser. The stripped documentation is now browsable here (about 26 MB)
      A browsable version of the original documentation (immediately before stripping, i.e. between v15.62 and v15.63) including special Ved characters can be found here (about 27MB).
    • Anyone wishing to download the documentation on its own for local viewing can get the version including the special ved characters (the unstripped documentation -- only of use to Ved users) in this gzipped tar file (about 6MB) and the stripped documentation in this gzipped tar file (under 6MB).
    • For more detailed descriptions of changes see this latest-poplog contents.
    • Downloading the new version (32bit Linux poplog)
      There are two shell scripts provided for conveniently downloading and installing poplog v15.63. After fetching the script you want to use, make sure it is executable (using 'chmod ugo+x'), then run it
      • get-and-install-v15.63-poplog
        Fetches additional scripts, downloads the tar file, and installs in /usr/local/poplog, with links from /usr/local/bin/poplog and 'man' files in /usr/local/man/man1 You will probably need to run that script as superuser (root) or using 'sudo', since it needs to use 'system' directories.
      • get-and-install-v15.63-poplog-here
        Fetches additional scripts, downloads the tar file, and installs in a directory below the directory in which it is run, i.e. not /usr/local/poplog. So superuser access is not required.
        The 'poplog' and 'poplog.sh' startup scripts are installed in a directory below the one used to run the get-and-install script, namely in v15.63/pop/v15.63/bin/


    JUMP TO CONTENTS LIST


    NEWS 21 Jun 2009


    NEWS 28 May 2009: Poplog on a SliTaz LiveCD

    Andrew Rydz has produced a LiveCD containing SliTaz with poplog ready to run. For more details look here.

    NEWS 28 May 2009: The Popracer package
    has been enhanced with a PDF copy of the project report.

    Popracer was a second year undergraduate team project in 2005, using Pop-11, including its graphical tools, to design a package to evolve simulated racing cars with neural net controllers, able to compete and win on a circuit designed by the user. A graphical tool for designing new circuits was provided. For details see the project report (PDF) and the report by Mark Rowan in the Networks magazine.
    There is a gzipped tar file containing the contents of the popracer directory.
    Update 18 Jan 2020
    Here is a video showing (speeded up) evolution and training of the racing cars. https://m.youtube.com/watch?v=tt-e5biErrQ
  • NEWS 3 Dec 2008: Version V15.62 of PC Linux Poplog available
    with 'setarch' problem fixed'.
    Now superseded by latest-poplog (for 32bit linux poplog only).

  • NEWS 9 Jun 2008: Version of 64 bit PC Linux Poplog version 15.6102 available.
    With new instructions and new simplified 'fetch and install' scripts.
    Now superseded by latest-64bit-poplog.

  • NEWS 7th Feb 2008: New Version of 32 bit PC Linux Poplog version 15.6102 available.
    With new instructions and new simplified 'fetch and install' scripts.
    Now superseded by latest-poplog.

  • NEWS 31 Jan 2008 Packages that work in Poplog Common Lisp

    Added a separate section for Lisp Packages that work in Poplog
    Currently refers to Screamer and Spartns
  • NEWS 25 Jan 2008 Draft Pop-11 Book

    Waldek Hebisch (Mathematical Institute University of Wroclaw, Poland) has made available a draft Pop-11 version of the book
    How to think like a computer scientist written by Allen B. Downey.

    The Pop11 version should be a very useful supplement to the old Pop-11 primer.
    The Pop-11 version of the book is available in PDF format at

    http://www.math.uni.wroc.pl/~p-wyk4/thinkCS/thinkCS_1-19.pdf

    Latex source, figures, etc.: http://www.math.uni.wroc.pl/~p-wyk4/thinkCS/thinkCSpop11_0.7.1-19.tar.gz

    This is a somewhat incomplete version, containing only the first 19 chapters and chapter 14 is very incomplete.
    (on 25 Jan 2008)

    Note: Robin Popplestone's draft book on Pop-11 and his lecture notes on Programming Paradigms are also available below.

  • NEWS 12 Dec 2007

    Instructions for installing Windows Poplog (including installation on Vista) can be found here.
  • NEWS 23 Nov 2007

    Added simple pop-11 syntax highlighting command for VED, in
            $usepop/pop/lib/ved/ved_highlight.p
    
    The command
            ENTER highlight
    
    will underline all syntax words, apart from those included in the list assigned to global variable
            highlight_exceptions
    
    To see what the exceptions are do
            ENTER showlib highlight_exceptions
    
    If you don't want to fetch a complete poplog system, the file can be downloaded on its own from
    http://www.cs.bham.ac.uk/research/projects/poplog/v15.61/v15.61/pop/lib/ved/ved_highlight.p
    Simply install it in the directory $usepop/pop/lib/ved/ in your current poplog system.
    It will then be autoloadable. Undo highlighting with
            ENTER strip
    
  • NEWS 5 Oct 2007: Updated version of Poplog v15.6101

    The main latest change alters the directory mechanism in $popsrc/unix_dir.p thanks to help from Waldek Hebish. This fixes a bug in pop-11 reported as bug 32 in
    http://www.cs.bham.ac.uk/research/projects/poplog/bugfixes/BUGREPORTS
    And also overcomes a problem determining current directory when the SELinux security mechanisms are active.
  • 4 Apr 2007: (Superseded use: http://tinyurl.com/PopLog/latest-poplog)

    There are instructions for installing Poplog version 15.61 on Debian/Ubuntu in http://www.cs.bham.ac.uk/research/poplog/v15.61
    Students in Birmingham who are Ubuntu users should look at David Brooks' instructions page and then fetch the latest version.

  • 16 Sep 2006:

    Improved the presentation of Pop11 Eliza and made it stand-alone, so that it should work on many PC+linux web servers running php. Tar file is here.
  • 9 Sep 2006:

    Made Robin Popplestone's Magnum Opus on Pop-11 and related topics more easily available here.
  • 9 Sep 2006:

    Moved some of the previous contents of this file into the 'Superseded' file.
  • 9 Sep 2006:

    The Pop11 Eliza broke mid July 2006 when the web server was reorganised. Now fixed, including counter.
    Try it here but don't expect too much.
    Assertions generally produce better results than questions. Use only single sentences. There is no grammar, only pattern matching.
  • 17 Apr 2006:

    64-bit Poplog for AMD64 has been repackaged.
    For further details look here
  • 10 May 2005:

    There is now a PDF version of the Pop11 primer
  • 15 Mar 2005:

    Test version of Poplog for 64-bit linux on AMD64 (Opteron) CPU For further details look here
  • 15 Mar 2005:

    Improvements to Emacs for poplog package.
  • 20 Feb 2005:

    Newly bundled Poplog Version 15.6 (PC Linux Poplog only). Now superseded by a later version. .
    Version 15.6 is available, rationalised and reorganised.

  • 5 Feb 2005:

    Added section on Ports in Progress.

  • 6 Jan 2005:

    Single float external function results work in linux poplog It was found recently that in Linux Poplog calling external functions (e.g. C or Fortran) that produced single float results did not work properly: the wrong results were returned. This problem has now been fixed. As a result of this all the new features of the Popvision library now work, including the large new 'matlab-like' package. (The packages also work in Sparc/Solaris poplog, which did not have the external function problem.)
  • 1 Jan 2005:

    Some new problems fixed and change notes updated. Many users have had problems with function keys not working in linux poplog as packaged for Birmingham users in the bham-linux-poplog.tar.gz file. The problem has been tracked down to a mistake in the file
    $poplocal/local/setup/Poplib/vedinit.p A revised version can be fetched from http://www.cs.bham.ac.uk/research/poplog/setup/Poplib/vedinit.p

    The pop-11 sockets library does not work on systems where the C library no longer supports 'errno'. The core of poplog was fixed to deal with this in July 2003, but a new version of the socket library was not installed to make use of this fix until today. It can be fetched from
    http://www.cs.bham.ac.uk/research/poplog/bugfixes/pop/lib/lib/unix_sockets.p
    and installed in
    $usepop/pop/lib/lib/unix_sockets.p
    This is now included in the standardlinux poplog package.

    Descriptions of various bugs and bugfixes, including the above two, have now been included in http://www.cs.bham.ac.uk/research/poplog/bugfixes/BUGREPORTS

  • 24 Dec 2004:

    Installation scripts generalised, and Linux Poplog re-packaged The scripts for installing Linux poplog have been modified so as to cope better with more problems, e.g. gcc missing, or linking a new binary failed for some reason. In particular, short-cut installation procedures described here should work in more circumstances. (Thanks to Andrew Starling for reporting in detail problems experienced installing Poplog on SuSe 9.2).

    In addition, the rpms for Ctwm and Openmotif previously included in the package for the benefit of Birmingham students are no longer included since both are readily available on the internet and a later version of Openmotif is included in many Linux distributions. This has reduced the size of the integrated Birmingham Linux Poplog package from about 21Mbytes to about 19Mbytes.

  • 24 Dec 2004:

    External linker bug fixed (Linux PC Poplog) After a new version of the popvision library (see 7 Dec 2004 news item) was installed a bug in the linux version of Pop11's external linker was discovered: it did not treat symbols in external libraries as global. Thanks to help from David Young and Jeff Best, the source of the problem has been identified and a fix installed. The latest versions (version 15.53 and version 15.6) of Linux Poplog packaged with Birmingham and Sussex extras includes the fix.

  • 24 Dec 2004: Script for Checking Linux installations

    As many people have recently had problems installing poplog on linux installations that did not include development tools by default (e.g. SuSe version 9.2) a script has now been provided for checking (and if possible) fixing Linux installations before installing Poplog.
  • 7 Dec 2004:

    New version of David Young's Popvision library available.
    popvision.tar.gz
    Browsable directory
    New features all described in the HELP POPVISION file and other documentation files, include:
    • Linear algebra package
      LAPACK gives a direct interface to the Lapack linear algebra package, (and BLAS library) which has very wide scope.
      LAPOP gives a simpler, higher-level interface to some common linear algebra functions, including matrix multiplication, linear equations, least-squares problems, eigenvalue and singular value decompositions.
    • ARRPACK provides procedures for arithmetic and logical operations on arrays, using external procedures for efficiency. (Largely supersedes the FLOAT_ARRAYPROCS library).
    • New Array operations include
      * newintarray creates packed integer arrays.
      * newdfloatarray creates double-precision packed floating-point arrays.
      * newrfloatarray creates packed floating-point arrays with precision depending on popdprecision.
      * newcfloatarray creates complex single-precision packed floating-point arrays with alternating real and imaginary parts.
      * newzfloatarray creates complex double-precision packed floating-point arrays with alternating real and imaginary parts.
    • Image structure operations extended, including
      * corners_hs implements the Harris-Stephens corner detector.
      * snakes implements very simple adaptive contours.
    • External language interface
      * excall allows external functions to be passed the addresses of arbitrary elements of vectors.

      NOTE: the popvision library was re-built on 24th December 2004, following fixing of the external linker bug mentioned above. If you have installed the latest core linux Poplog version (24 December 2004 or later) with the linker bug mentioned above fixed, and you obtained popvision before then, you are advised to fetch the latest version of popvision and install it. To take full advantage of some parts of it you will need to have the Lapack and Blas libraries installed, available from http://ftp.pld.org.pl/dists/ac/ready/

  • 26 Nov 2004: Poplog for FreeBSD

    Andrew Rydz has provided a port of Poplog for FreeBSD, and John Duncan has provided a Note on DragonFly BSD.
  • 25 Oct 2004: 1976 Technical report on Austin Tate's Nonlin Planner (using Pop-11) now available

  • 24 Oct 2004/Updated 26 May 2006

    Eliza in Pop-11 passed the 10,000 questions mark during October 2004, about two years after it was installed.
    It passed the 20,000 mark in May 2006, less than two years after passing 10,000.
    A short example:
    You: do you get enough users
    Eliza: FIRST TELL ME WHY YOU HAVE COME HERE?
    You: to find out whether you get enough users
    Eliza: COULD A MACHINE FIND OUT WHETHER ME GET ENOUGH USERS ?
    You: maybe a machine could do better than I can
    Eliza: COULD A PC ACQUIRE A WISH TO GO TO UNIVERSITY?
    You: a really intelligent one could
    Eliza: MOST COMPUTERS ARE AS STUPID AS THEIR PROGRAMMERS
    You: That's enough for now
    Eliza: DO GO ON
  • 20 Oct 2004 Poplog for MAC+OSX

    As announced on the comp.lang.pop news group, Linux Poplog was (partially) ported to Apple Mac+OSX. Most things work, but not X11/Graphical facilities. Details here.
  • 10 Oct 2004

    Added links to online version of Gazdar and Mellish books on Natural Language Processing (in Pop11, Prolog and Lisp).
  • 17 May 2004 Instructions added for Installing Poplog in FreeBSD

  • 24 Apr 2004 Poplog packaged for Debian users (Now Superseded: See latest linux version)

  • 20 Apr 2004: Additional movie demo

    http://www.cs.bham.ac.uk/research/poplog/figs/simagent
  • 16 Mar 2004: Linux Poplog no longer requires termcap.

    Following discussion on comp.lang.pop of problems installing Poplog on linux distributions that do not include termcap, the Linux version of Poplog has been revised to remove reliance on termcap. Consequently, the easy install version of PC Linux Poplog with Birmingham extensions should now be much simpler to install on recent versions of systems that do not include termcap e.g. Mandrake, SuSe.
  • 15 Feb 2004: Added pointer to David Young's Poplog page at Sussex.

  • 7 Feb 2004:

    The Online Eliza Chatbot in Pop-11 had answered over 6000 questions by early February 2004.
  • 30 Jan 2004:

    New movies showing SimAgent capabilities now available.
  • 17 Jan 2004: Information about OpenPoplog at Sourceforge

  • 16 Nov 2003:

    HP Unix Poplog V15.53 provided by Waldek Hebisch


JUMP TO CONTENTS LIST


DOWNLOADABLE VERSIONS OF POPLOG

Current versions of Poplog for Linux and Unix:

Information on how to use Linux poplog on Windows can be found here.

The latest versions of 64 bit and 32 bit poplog, packaged for PC+Linux.
(For use on Windows see below)

  • Version 16 (64 bit)
    64 BIT LINUX POPLOG (Jan, 2020)

  • Version 15.65 (32 bit) [Out of date now]
    DOWNLOAD INSTRUCTIONS FOR 32 BIT LINUX POPLOG
    (E.g. for fedora, ubuntu, debian and others.)

    NOTE: 32-bit poplog will run on 64-bit linux if the appropriate extra libraries are provided. See the information here.

    Both versions provide 'get-and-install' scripts, which can be downloaded and run to fetch and install everything else, either in the 'standard' location (/usr/local/poplog) or in the current directory.

A (possibly out of date) table summarising available versions of poplog is available here: http://www.cs.bham.ac.uk/research/projects/poplog/poplog-versions.html

Linux Poplog is provided in gzipped tar file format, for installation on PC (Intel or AMD). 32-bit Versions of Linux Poplog have been tested on RedHat Linux 6.0, 6.1, 6.2, 7.1, 7.2, 7.3, 8.0, 9.0, RedHat Enterprise Linux, Fedora core 1, 2, 3, 4, 5, and various versions of Debian, Ubuntu, Slackware, Mandrake, Suse Linux, and freeBSD but it probably works on several more. However, non-backward compatible changes in versions of linux sometimes cause problems.

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

Graphical extras, and use of Motif/Lesstif
Poplog has a wide range of 2D graphical facilities that work in connection with the X window system on linux and unix platforms. These can be enhanced by the use of Motif though it is not essential for poplog. Motif provides a collection of additional graphical tools used by menus and scroll-bars in the poplog X-based editor XVed, though XVed can be used without menus and scroll-bars.

However many other Poplog graphical facilities can also work without motif. The Birmingham graphical toolkit, RCLIB, available as an add-on to poplog (described below) does not require motif, and provides menus, sliders, dials, and other GUI facilities. Because it is implemented in Pop-11 it is much easier to modify or extend than motif. It is also used for graphical displays in the SimAgent toolkit, demonstrated here.

If your linux system does not include motif, you should, if you wish, be able to use poplog with the free Openmotif version, now available from http://www.openmotif.org/ and also included in many linux distributions, since several commercial packages based on linux and unix make use of Motif.

If that link fails try giving www.google.com or some other search engine the key "linux motif", or "openmotif".

The latest version of Lesstif, distributed with many versions of Linux, can also be used as an alternative to Motif, though there are some minor discrepancies.

Previously, two versions of Poplog for linux+PC were made available, one linked for use with motif and one linked for use without. Linux Poplog is now distributed in a new format, as described below, with fewer pre-compiled binaries, reducing download time. Installation scripts are provided which configure poplog to run with or without motif, as required.

Poplog downloads for PC+Linux, Debian and instructions for FreeBSD follow.

  • Non linux versions

    Older versions of Poplog:for unix-like systems

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

    PC NT/XP/Windows versions of Poplog:

    This section is probably out of date!
    At present (January 2010) the implementations of Poplog for Windows do not provide all the facilities of Linux/Unix poplog. In particular, they do not provide the Poplog graphical facilities that work on the X window system on Unix and Linux.

    However it is possible to run Linux poplog within Windows using VirtualBox, as described here.

    It is also possible to run linux poplog on Windows by using the free trial version of VMWARE http://www.vmware.com/. 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.

    It can also be made to work with the free 'andLinux' package along with Xming, as described here. (This information may be out of date. If so please let A.S. know.)

    It is likely that increasing development of 'virtualisation' tools will make it much easier to run programs developed in one operating system on another.

    The Open Poplog project aims to re-engineer poplog in a more platform-independent form eventually. However, that project seems to have been hit by the financial crash around 2008-2010.

    For those users of Microsoft Windows who do not wish to use andLinux or VirtualBox or Vmware the following options are available -- but there is no guarantee that they still work (in 2020).

    • 1. A version of Windows Poplog 15.5 packaged for easy installation
      with a split-screen version of the Ved editor.

      This is available packaged in three formats:

    • 2. A later version of Poplog for windows, version 15.53

      Novices may find the more conveniently packaged version 15.5 windows poplog (listed above) easier to install and use.

      The V15.53 poplog package for windows includes all the sources and I believe the "stubs" that were used in the Clementine data mining package to link to an X window emulation running windows NT. Perhaps a windows expert can use this to add graphics to windows poplog, or even make XVed work under windows?

      This newer version of windows poplog does not include a self-installation file providing a desktop shortcut that starts up the Ved editor. If anyone is able to package it so that it can be used by novices, like the older version above, please inform A.Sloman AT cs.bham.ac.uk

      The Open Poplog project was intended to make all the X window facilities in linux/unix Poplog available also under Windows. Financial disruptions undermined that projct.

    • 3. Additional utilities supplied by PC Windows Poplog users

      for the benefit of users of Windows on PC, Poplog can be found in this directory http://www.cs.bham.ac.uk/research/poplog/winpop

    • 4. Bham extras packaged for Windows users

      Additional Pop-11 and Ved utilities and AI teaching materials developed at Birmingham and packaged for Windows/NT users in a zip file: bhamteach.zip
      This contains AI tutorial files, help files and supporting libraries produced mainly at Birmingham for teaching programming and elementary AI, including some Ved tutorials. Some of these are updated versions of the teach files and libraries distributed with Poplog. Additional information about this collection is in a separate file.

    • 5. Source files for PC NT/Windows version of Poplog

      The sources for the older PC Windows/NT Poplog version 15.5 are available separately: http://www.cs.bham.ac.uk/research/poplog/new/pcwnt-sources.tar.gz
      The sources for PC Windows/NT Poplog version 15.53 are included in the windows poplog version 15.53 files here http://www.cs.bham.ac.uk/research/poplog/winpop/
      NB: Windows Poplog was originally developed for NT and not all features are fully supported on Win95/98.


    JUMP TO CONTENTS LIST


    PORTS IN PROGRESS

    • Helping with ports

      If you would like to help with testing and porting write to
      pop-forum AT cs.bham.ac.uk .
      You may also find it useful to look at the
      comp.lang.pop net news group

      See also the OpenPoplog initiative

    • Porting Poplog to Mac+OSX on PPC

      Poplog on Intel Mac
      (Probably out of date!)
      Although there is a partial port of Poplog for Mac OSX on PPC, there isn't one for Intel-based Macs. For those, the best way to run poplog is now to install a version of linux (e.g. some have used 'archlinux because it is small) in a virtual operating system (e.g. using VMWare) and then to install and run the latest Linux poplog.

      Poplog on OSX
      As a first step towards the OSX port, Poplog was ported to Darwin on PC. Testers and helpers are invited to look at the files here http://www.cs.bham.ac.uk/research/poplog/darwin+pc/

      Later a nearly working system for OSX was provided, which is accessible in http://www.cs.bham.ac.uk/research/poplog/osx/
      It was tested by a non-Mac user here and found to work, but the X window graphical facilities do not yet work. Perhaps this has something to do with dynamic libraries, and can be fixed by an OSX expert.

      Everything else seems to work. However the facilities for automatically rebuilding poplog have not been updated to run on OSX yet.

      An alternative is for an OSX user with X11 installed to run Poplog remotely on a linux or solaris machine running Poplog. For further information see this file.

    • Poplog has also been ported to Linux on AMD 64-bit PC, but the old port has been replaced by the new 64-bit Poplog available here:
      http://www.cs.bham.ac.uk/research/projects/poplog/V16/AREADME.html


    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.


    THE POPLOG PACKAGE STRUCTURE INTRODUCED IN VERSION 15.6 (2005)

    Around January 2005 Poplog was reorganised. A sub-directory was introduced $usepop/pop/packages (with environment variable $poppackages to allow for its location to be changed).
    Many of the extensions that had been available as special packages from Birmingham University, Sussex University, or elsewhere that had previously been separately down-loadable packages were moved into that directory, and some of the AI tutorial material that had been part of the core Pop-11 code and documentation libraries was moved into a 'teaching' package.

    Each package has a top level directory containing a pop-11 program to extend the poplog search lists (popautolist, popuseslist, vedhelplist, vedteachlist, etc.) and subdirectories such as auto/, lib/, teach/, help/, ref/, data/ and others, if needed.

    Some parts of poplog that were deemed not to be suitable for inclusion in the core of the system, e.g. items concerned with teaching AI rather than teaching programming in Pop-11 or Prolog, etc. were moved into the 'teaching' package.

    NOTE: This process is not yet complete. The reorganisation will be continued, depending on available time.

    The current default list of contents (in April 2007) is

    lib: A directory containing links to the startup pop-11 file for each of the packages.
    bhamlib: Extensions from the Birmingham $poplocal/local/directory
    (Currently very little, as most of the original contents are now in other packages).
    brait: A braitenberg simulator based on SimAgent
    com: Some shell scripts used for poplog
    contrib: Programs and documentation contributed over the years include portions of published books, e.g. the Computers and Thought book, and the Natural Language Processing books by Gazdar and Mellish. (No longer included: available separately.)
    emacs:Utilities to make Emacs talk to the Poplog compilers, emulating the poplog Ved editor
    lockfile: programs for locking and unlocking files
    master: Relics of the Sussex mechanisms for managing file headers and footers.
    neural: The poplog neural library, providing some neural net functions implemented in C and invoked from Pop-11
    newc_dec: Information provided by Anthony Worrall about extensions to the mechanisms for loading external libraries written in C.
    newkit: The Birmingham SimAgent toolkit, containing Poprulebase and SimAgent libraries, and also making heavy use of RCLIB for graphics.
    package_template: Template directory for constructing a new package.
    popmatlab: A 'virtual' package which makes visible a subset of the facilities included in the popvision package, providing general purpose mathematical tools that are not restricted to being used for vision, including the well known BLAS and LAPACK toolkits, which are here made available from Pop-11.
    popvision: David Young's Popvision library (including many C programs for image manipulation invoked from Pop-11). This includes the 'popmatlab' library.
    prb: The Poprulebase subset of SimAgent, which can be used on its own, e.g. for expert systems.
    rclib: The RCLIB graphical extension to Pop-11 illustrated here.
    rcmenu: An extension to RCLIB providing the 'recursive hypermenu' package.
    sim: The sim_agent library extensions, to be added to Poprulebase to provide the SimAgent toolkit.
    teaching: AI teaching materials -- programs and documentation.
    vedgn: An extension to the Ved editor for reading news (usenet).
    vedlatex: Extensions to the Ved editor for use with LaTex.
    vedmail: Programs for reading mail in a standard unix mail file, for sending mail, replying, unpacking attachments, creating and sending attachments, etc. All written in pop-11.
    vedutils: Extensions to the Ved editor used in Birmingham.

    OTHER THINGS IN THE SAME DIRECTORY
    gz: A directory for tar files containing packages supplied in compressed form only.
    install_package: A shell script for unpacking and installing packages from tar files of the form package.tar.gz into a directory package
    make_tarfiles: Shell script for creating tar files from the currently installed packages.
    setup: various startup scrips

    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.

    Other changes are listed in the CHANGES.txt file now included with poplog, along with revision notes included source code and library files.

    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.


    JUMP TO CONTENTS LIST


    DOCUMENTATION DIRECTORIES

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


    JUMP TO CONTENTS LIST


    LISP PACKAGES THAT WORK IN POPLOG

    Lisp packages available that have been tested in Poplog Common Lisp

    PACKAGES AND AI TEACHING MATERIALS


    The RCLIB and RCMENU X-based user-extendable graphical interface tools.
    NB: This is already included in the latest Poplog package for linux on PC.

    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 RCLIB (relative coordinates) extension to Pop-11 X window based graphics, using the Poplog widget set to provide tools for graphical interfaces without using Motif. This can be used with all X window based versions of Poplog, including the Linux version, whether Motif is or is not available. rclib.tar.gz

      RCLIB files can be browsed online: See the help/ and teach/ subdirectories, especially help/rclib.

      Examples of displays produced by the "RCLIB" Graphic Library can be found in http://www.cs.bham.ac.uk/research/poplog/figs/rclib/

    • The RCMENU (recursive hypermenu) package provides Pop-11 utilities based on RCLIB, for creating autoloadable "stay up" and "pop up" menus and control panels, (Does not use any motif facilities, and does not require the Pop-11 "propsheet" mechanisms to work.)
      This package is basically tailored to provide help for students in Birmingham, especially when learning to use the editor. However it is very easily modified to suit different sites, or users.

      Examples shown, including screenshot here.

      The default set of autoloadable menus can be browsed in the rcmenu/menus/ subdirectory. These menu-definition files show the syntax available for specifying environments.
      rcmenu.tar.gz

      An earlier, less versatile, version of this package, based on propsheet and motif, is in the menu.tar.gz file listed below.


    The SimAgent toolkit, including Poprulebase
    NB: This is already included in the latest Poplog package for linux on PC.

    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 subsymbolic 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 standard Birmingham Linux Poplog packages, but can also be downloaded separately:

    • The SimAgent Toolkit as described in http://www.cs.bham.ac.uk/~axs/cogaff/simagent.html including Poprulebase and Sim_agent libraries. Needs RCLIB (above).
      Can be installed using the install_package script

      Poprulebase is a highly extendable production system interpreter used in the SimAgent toolkit, including support for interactions between symbolic and sub-symbolic mechanisms. It can also be used alone as an Expert System Shell.

      Poprulebase code and documentation can be browsed online in subdirectories of the newkit/prb/ directory, e.g. tutorial and reference documentation is in the teach/ and help/ subdirectories.

      The SimAgent specific code and documentation files can be browsed in the newkit/sim/ directory. Tutorial and reference documentation is in the teach/ and help/ subdirectories.
      A summary of the main changes to SimAgent (and Poprulebase) introduced in the summer of 1999 can be found in the help/newkit file
      An example SimAgent tutorial file is newkit/sim/teach/sim_feelings

    • oldprb.tar.gz Poprulebase (version 4.0),
    • oldsim.tar.gz The SimAgent toolkit (version 4.0) (requires old version of poprulebase and also RCLIB).


    David Young's Popvision library
    NB: This is already included in the latest Poplog package for linux on PC.

    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 pop-11.
    • The ARRPACK package

      This provides an array processing package for Pop-11. It includes efficient procedures (implemented in C) to carry out arithmetic and logical operations on elements of real and complex arrays. A whole array or a subset of its elements may be processed in a single procedure call. ARRPACK is restricted to operations in which each array element is treated separately from other elements of the same array, such as the element-by-element addition of two arrays. (Operations where each element is processed along with its neighbours, such as convolution, Fourier transforms and matrix operations, are provided by other libraries.) A higher-level interface to these procedures may be provided in future.
    • The LAPACK and LAPOP libraries

      These libraries provide Pop11 interfaces to BLAS and LAPACK
      • http://www.netlib.org/blas/faq.html
        The BLAS (Basic Linear Algebra Subprograms) are high quality "building block" routines for performing basic vector and matrix operations. Level 1 BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations, and Level 3 BLAS do matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they're commonly used in the development of high quality linear algebra software, LINPACK and LAPACK for example.

      • http://www.netlib.org/lapack/
        LAPACK is written in Fortran77 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision.
      Anyone who wants all this but does not have blas and lapack for linux (apparently included in some linux distributions --e.g. redhat 9) can get rpms for various architectures from http://ftp.pld.org.pl/dists/ac/ready/

    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
    • External function call with vector-offset arguments. (excall: library - now included in the popvision package.)
    • Extensions to Ved to speed up editing HTML (not an HTML previewer - but able to save you a lot of keystrokes if you edit HTML source)
    • A Boyer-Moore-type algorithm for fast string searching. Sometimes very much faster than standard string searching, though not in fact optimal.
    • A permutation generator.


    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 is now automatically included with linux poplog (32 bit and 64 bit).
    However, it can also be fetched from http://www.cs.bham.ac.uk/research/projects/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 the SimAgent toolkit (included in the latest linux poplog package).
    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://mypage.iu.edu/~mscheutz/


    Contributions by Robin Popplestone

    Robin was the designer of the language "COWSEL" which was redesigned and extended and first became widely known as POP-2, around 1971. Pop-11, the core language of Poplog, is a derivative of POP-2.

    For many years he worked in the Artificial Intelligence laboratory at the University of Edinburgh, including making major contributions to the Edinburgh robot Freddy_II, the Alvey-funded Edinburgh DESIGNER system (which used Poplog), and other projects.

    In 1985 he moved to The University of Massachusetts at Amherst where he continued doing research and teaching and making contributions at a distance to the development of Pop-11 and poplog.

    He retired from UMASS around 2003(?) and moved back to Scotland, where he died in 2004.

    There is a memorial web site for him at Umass

    Book on Pop-11 and Programming

    While at UMASS Robin Popplestone wrote a large draft book on Pop-11 Paradigms of Programming. Unfortunately he died before completing it. The latest version is available here, including a review by a reader, installed 11 Sep 2008.

    The PopScheme System
    (Scheme implemented in Pop-11)

    This system, providing an incremental compiler for Scheme, was developed by Robin Popplestone at UMASS, and used there for teaching for several years. It became freely available online in October 1999. A copy is available 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

    Paradigms

    Robin Popplestone's lecture notes on programming paradigms are available and browsable here, and downloadable here (gzipped tar file about 1MB),

    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 (Now with audio output.)

    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/
    Between September 2002 and February 2005 this on-line Pop-11 Eliza had answered about 17,100 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. A slightly simpler version of the code for the Pop-11 eliza is available for use with poplog.

    A slightly revised version is used for the Poplog Eliza web site, available here: here).

    NOTE: since the speak_espeak program was added to Pop-11, you can make Eliza speak as well as type responses to the user, provided you have the linux espeak package installed. Use google to find it for your system. On Fedora 10 it was installed simply by using the command:

        yum install espeak
    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/doc/popteach/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


    SOME ADDITIONAL BROWSABLE DIRECTORIES

    The Pop-11 and AI teaching and documentation files previously included in the bhamteach tar package and now part of the standard Poplog distribution, can be browsed online in these directories:

    • teach/ (Teach files)
    • help/ (Help files)
    • auto/ (Autoloadable libraries)
    • lib/ (Non-autoloadable libraries)
    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.

    • The http://www.cs.bham.ac.uk/research/projects/poplog/doc/ directory
      This contains copies of documentation directories in poplog, since version v15.63.
    • rclib/ the RCLIB teach, help, auto and lib files, illustrated here
    • rcmenu the RCMENU extension to RCLIB, which makes possible the autoloadable "menu" definitions in this directory rcmenu/menus/.
    • newkit/prb/ the Poprulebase teach, help, auto and lib files.
    • newkit/sim/ the SimAgent teach, help, auto and lib files.
    • popvision/ the Popvision libraries (from David Young at Sussex University)
    • neural/ some neural net facilities (includes C programs linked to pop-11)
    • string_ops/ String manipulation utilities provided by Steve Leach.
    • ved_latex/ Latex tutorial and some utilities for producing and previewing latex files in Ved.
    • xml-dist/ Package by Steve Leach which he says "..allows you to seamlessly interleave Pop11 and XML. The combination is really quite powerful. Using it I am able to get results in a few minutes where people using Perl/CPAN are taking weeks". The whole package is also downloadable in a gzipped tar file xml-dist.tar.gz


    ADDITIONAL UTILITIES (E.G. PATTERNS, NEWS, LATEX, EMAIL)
    NB: These are already included in the latest Poplog package for linux on PC.

    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.

    Do not install them if you have Poplog version 15.6, 15.62, or later, as they are already included.

    • pattern.tar.gz
      An extension to the Pop-11 pattern matcher to support lexically scoped pattern variables. (This is included in the bham.teach.tar.gz file, and in the poprulebase package.)
    • ved_latex.tar.gz
      Latex tutorial and utilities (for driving Latex from inside Ved)
    • vedgn.tar.gz
      Ved-based utilities for reading and posting net news.
    • vedmail.tar.gz
      Ved-based utilities for sending, reading and replying to email.
    • Other superseded packages


    THE POPEXTRAS PACKAGE (superseded)

    (All of this is in the latest linux poplog package.)


    GLOBAL OPEN SOURCE POPLOG LIBRARY (GOSPL) SITE (DEFUNCT?)
    (The web site www.poplog.org is now defunct.)

    Steve Leach and Graham Higgins once developed a Global Open Source Poplog Library (GOSPL) site, at http://www.poplog.org/gospl/ (currently not working - Aug 2009)

    This contains some contributed programs not available elsewhere, provided by Steve Leach and Graham Higgins. However the 'gospl' code is available as a gzipped tar file here and as a browsable directory here.


    THE CONTRIB DIRECTORY

    The browsable contrib directory contains a number of packages and utilities made available to Poplog users.

    The complete contents of the contrib directory are available in a gzipped tar file: contrib.tar.gz.

    This includes source code from various books, including

    See also the materials developed at the University of Amherst by Robin Popplestone



    RELATED POPLOG SITES

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

    www.poplog.org is now defunct.

    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 other sides may be out of date. It is best to use the downloads from this site, if at all possible.

    Information for mirror sites

    To facilitate this there was previously a directory containing links to material in this directory which is suitable for fetching to a mirror site. This no longer seems to be necessary, given current internet speeds.

    OpenPoplog at Sourceforge

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


    OTHER FREE SOFTWARE SITES


    Lesstif Problems (Now fixed)

    [Out of date text removed.]
    It is not necessary to link poplog with motif or lesstif in order to use most of its graphical facilities. In particular the RCLIB graphical tools do not depend on motif functionality.

    JUMP TO CONTENTS LIST


    Chronological Record of Contents
    [OUT OF DATE]

    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.


    The poplog system, i.e. the tar packages and the corresponding code and documentation files on this web site, is licensed as described above.

    Everything else written by A.Sloman, e.g. this file is licenced as follows:
    Creative Commons License

    This page, and everything else on the Poplog website, that is not part of the Poplog package is licensed under a Creative Commons Attribution 3.0 License.
    If in doubt, just assume the Poplog licence applies.
    If you use or comment on any of the ideas, tools or documentation, please include a URL if possible, so that readers can see the original (or the latest version thereof).


    Suggestions for improvement are welcome.

    This file maintained by:
    Aaron Sloman
    http://www.cs.bham.ac.uk/~axs/
    Last Updated: 7 Jan 2020 (more cleaning up needed); 16 Oct 2009; 1 Jan 2010; 19 Jan 2010; 24 Jan 2010; 7 Feb 2010; 12 Aug 2010; 5 May 2012; 4 Sep 2012; 12 Sep 2012; 13 Dec 2017; 27 Jan 2019; 1 Jan 2020