README/AREADME Last Updated: 2 Jan 2000 POPLOG, including Pop-11, Common Lisp, Prolog, Standard ML, and much AI teaching and demonstration material is now available free of charge, from this site, including all sources. This file is accessible as ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/README or http://www.cs.bham.ac.uk/research/poplog/README This file is no longer kept up to date. It is superseded by two new files in the same directory giving far more information. http://www.cs.bham.ac.uk/research/poplog/freepoplog.html Overview of Free Poplog implementations available, along with various extensions and documentation. http://www.cs.bham.ac.uk/research/poplog/poplog.info.html General information about Poplog, and pointers to other information sits. These files are also accessible via FTP ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/poplog.info.html Aaron Sloman, School of Computer Science, The University of Birmingham Birmingham B15 2TT UK Phone: +44-121-414-4775 (Sec 3711) Fax: +44-121-414-4281 Email: A.Sloman@cs.bham.ac.uk WWW: http://www.cs.bham.ac.uk/~axs ======================================================================= The following information is no longer updated frequently, and may be incomplete or out of date. Please see the files listed above. THE UNIVERSITY OF BIRMINGHAM SCHOOL OF COMPUTER SCIENCE POPLOG FTP DIRECTORY This directory contains code and documentation for use in connection with the Poplog system, supporting teaching and research in AI and general computer science. This file is ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/README http://www.cs.bham.ac.uk/research/poplog/README The following file in this directory gives information about Poplog: ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/poplog.info.html http://www.cs.bham.ac.uk/research/poplog/poplog.info.html Until recently the main Poplog distributor was Integral Solutions Ltd, who also provide commercial support for Poplog, and training courses: Email isl@isl.co.uk WWW http://www.isl.co.uk/ Following agreement between ISL and Sussex University in 1999, Poplog is now available free of charge including all the source code. Information about this is available at ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html http://www.cs.bham.ac.uk/research/poplog/freepoplog.html FURTHER INFORMATION ABOUT THE POPLOG DISTRIBUTION DIRECTORY AND POPLOG This directory is accessible as either ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/ or http://www.cs.bham.ac.uk/research/poplog/ It contains several sub-directories which provide local extensions to Poplog files which may be copied and used elsewhere. It also contains Poplog distrbution directories, as described in the freepoplog.html file. Also included here is teaching material used in introductory AI courses at the University of Birmingham (including some revised versions of online teaching material distributed with Poplog, originally produced at the University of Sussex.) There are also extensions to Pop-11 used for research purposes at Birmingham and elsewhere, e.g. the poprulebase (prb) and sim_agent (sim) and relative coordinate graphics (rclib) libraries. The popvision library produced by David Young at Sussex University the version of Scheme in Pop-11 implemented by Robin Popplestone at the University of Massachussetts at Amherst are also included. Expect new additions, from time to time, which will be included in the freepoplog.html file. For more information on Poplog and the Pop-11 language see Adrian Howard's web pages at Sussex University http://www.cogs.susx.ac.uk/users/adrianh/poplog.html http://www.cogs.susx.ac.uk/users/adrianh/pop11.html or Anthony Worrall's information page at Reading University http://www.cvg.cs.reading.ac.uk/poplog Steve Leach (steve@watchfield.com) has set up a Poplog information site, which includes a remotely accessible Pop-11 system, so that you can try out pop-11 at a distance. See: http://www.poplog.org/ MOST OF THE REMAINING INFORMATION IS BEST OBTAINED FROM ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html OR http://www.cs.bham.ac.uk/research/poplog/freepoplog.html ======================================================================= FILES IN THIS DIRECTORY: (Description probably out of date and incomplete now.) The teaching material includes "teach" files and "help" files in the teach/ and help/ sub-directories, and also Pop-11 program libraires in the the auto/ and lib/ sub-directories. There are several other directories containing "packages" implemented in Pop-11. For some of these, compressed tar files are provided with file names of the form *.tar.gz Extension to the pop-11 pattern matcher: Some people have rightly objected that the pattern matcher available in Pop-11 is not safe to use because the variables in it have to be dynamically scoped. At Birmingham we have overcome this by introducing a pattern prefix "!" defined as an autoloadable syntax word in auto/!.p which compiles lib/readpattern.p This converts all pattern variables to identifiers which are by default lexically scoped in the current procedure. A large amount of teaching material in the teach/ subdirectory, and associated code in the auto/ and lib/ directories have been convered to use this syntax. The main items are also in the compressed tar file bhamteachtar.gz Please note that there is no guarantee that anything is bug-free. Everything may be freely copied and used, so long as copyright notices are retained. CONTENTS OF THE DIRECTORY Files at top level (No longer a complete list). poplog.info.html Pointers to more information about Poplog The Pop-11 primer (several versions): primer.gz This is a compressed version of teach/primer a plain text version of the Pop-11 primer, for online browsing (17997 lines long): This is an introduction to Pop-11 which is suitable for people who already know some programming. It also gives a lot of information about poplog. primer.tex.gz Compressed version of latex file semi-automatically generated from the plain text version of the Pop-11 primer. This can be used to generate html if you have the latex2html program, or to regenerate the postscript versions. It requires the file popmodel.eps to create a diagram of a simplified model of the poplog virtual machine. primer.ps.gz Compressed postcript version of the Pop-11 primer, based on the latex formatted version. (May have some formatting oddities). About 298 pages (formatted for A4) primer2.ps.gz This is a "reduced" version printing two pages side by side in landscape mode. About 149 pages (A4) pophtmlprimer.tar.gz Compressed tar file containing the html version of the primer, described below. (Note some of the graphical symbols will not work, but they are not essential). primer/START.html ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/primer/START.html This provides an HTML version of the primer for direct browsing. (It was automatically generated from the Latex version and has not been very well formated.) A hard copy version of the second edition of the Primer in the reduced format is available. Price, as of Jan 1999, 8 UK pounds Plus postage and packing UK 1 pound non-UK 3 pounds Orders for the Pop-11 Primer should be sent to The Librarian, School of Computer Science, The University of Birmingham, Birmingham, B15 2TT, England Email: C.Cushway@cs.bham.ac.uk, Phone: +44 121 414 3735 Fax: +44 121 414 4281 (Price given above may be out of date: check with the librarian.) TOP LEVEL DIRECTORIES AND TAR FILES: auto/ Autoloadable program files suitable for installation in $poplocal/local/auto Includes some "fixed" versions of Poplog autoloadable files and various extensions, including ved_gn.p for reading news in VED (using the Pop11 socket mechanism), ved_texify.p for converting Poplog documentation to latex, and many, many more. benchmarks/ Some simple benchmarking test programs in Prolog and pop-11 and a summary of results found on a variety of machines. (Out of date now: machines have become much faster!) bhamteachtar.gz Tar file with selected Birmingham Pop-11 teaching materials This is a compressed tar file containing some of the contents of the teach, help, auto and lib subdirectories. This includes improved versions of several of the Poplog teach files. The contents are listed in the file mklocalteachtar, which is used to create the tar file. com/mklocalteachtar A shell script used to create the bhamteachtar file, showing the contents of that file. bin/ Some commands for building tar files, etc. com/ Some shell scripts suitable for $poploca/local/com E.g. concerned with building indexes to local directories comp.lang.pop.newsgroup This is the closest thing there is to a FAQ for the comp.lang.pop newsgroup, as far as I know. contribtar.gz A collection of items forming the Poplog "contrib" directory, including the code for the Gazdar and Mellish books on Natural Language Processing (Pop-11, Prolog and Lisp versions), Larry Paulson's ML tutorial examples, and other useful libraries demo/ Some demonstration programs, including some produced in student projects. We plan to convert these so that they can be run without a poplog licence. See demo/README doc/ For documentation files and papers on Poplog and Pop-11. Includes a paper I wrote around 1989 on the development of Poplog and Pop-11 when I was at Sussex University. emacs/ This contains a newly written replacement for the emacs interface code originally written by Richard Caley. This version is by Brian Logan, at the University of Birmingham and uses some of the old code. NOTE: even if you use emacs for editing code and driving Poplog you may find that it's a good idea to use XVED for examining the Poplog online documentation, because the VED graphics characters will not look good in Emacs (though Brian's code can cope with most of the files). You can force the Poplog "help", "teach" and similar commands to use xved if your file $poplib/vedinit.p includes the command: "x" -> vedusewindows; emacstar.gz is a compressed tar file containing the contents of the emacs/ directory. help/ Corresponding help files suitable for installation in $poplocal/local/help lib/ Non-autoloadable program files files suitable for installation in $poplocal/local/lib Includes some fixed versions of Poplog library files. menu/ The code and documentation for the "recursive hypermenu system" an extension to Pop-11 and VED which allows easily extendable autoloadable menus for controlling VED and Pop-11, and spawning Unix processes etc. using asynchronous control panels. A tutorial example is in menu/teach/menu_demo.p For details see menu/help/ved_menu. (A slightly out of date printable version of that file is menu/hyper.ps.Z) Last updated October 1997 NB the set of autoloadable menus in menu/menus/*.p should be regarded as a sample, rather than definitive. Some of the examples will not work outside Birmingham as they need local libraries (available on request.) These menus should work with either motif or Openlook. Some of this stuff is superseded by more general facilities in rclib/ menutar.gz A compressed tar file containing the contents of the menu/ and pui/ subdirectories. patterntar.gz The libraries defining and documenting lib readpattern, and the pattern prefix "!" which converts patterns to work with lvars and sections. The compressed tar file contains the files lib/readpattern.p auto/!.p help/readpattern teach/matches The files lib/readpattern.p and auto/!.p if installed in $poplocal/local/ extend the Pop-11 pattern matcher so that if the prefix "!" is used in front of a pattern, then the pattern variables can be used as lvars or as section variables, thereby considerably extending the usefulness of the matcher, and avoiding bugs, etc. This works only in Poplog version 15.0 or later. readpattern.tar.gz has been replaced by patterntar.gz popvisiontar.gz The image manipulation and interpretation library by David Young at Sussex University. Includes code and documentation. This may not be the latest version, but it includes fixes for linux Poplog and Digital unix (alpha) poplog. prb/ Code and documentation for the POPRULEBASE system: a forward- chaining condition-action rule interpeter, replacing LIB NEWPSYS, with some unusual features described in these files: prb/teach/poprulebase prb/help/poprulebase prb/help/rulesystems prb/help/prb_filter News is in: prb/help/prb_news Poprulebase is the heart of the Sim_agent toolkit in the sim/ directory prbtar.gz A compressed tar file containing the poprulebase package. pui/ An extension of Poplog's pop_ui facilities, for creation of popup menus, file browser, requests for text input, etc. Used by the menu/ package. Included in menutar.gz Based on Propsheet. Superseded by some of the facilities in rclib/ which are more general. rclib/ rclib/auto/ rclib/help/ rclib/lib/ rclib/rclib.p rclib/teach/ Useful object-oriented extensions to the Pop-11 rc_graphic library. Makes it easy to create movable and rotateable objects in an rc_graphic window, and to attach event handlers to objects in the window or the window itself, including handlers for mouse events (e.g. dragging, clicking) and keyboard events. Live buttons and various kinds of menu panels can be added using the rc_buttons library, and other interface development aids are being added. It also includes convenient utilities for changing size or location of the graphic window, or its title or colour. Library still under development. There's a README file included. Also see rclib/help/rclib rclib/help/rclib_news rclib/help/rc_linked_pic rclib/help/rcbuttons rclib/teach/rclib_demo.p rclib/teach/rc_linepic rctar.gz gzipped (compressed) tar file containing the rclib/ subdirectory. sim/ The Birmingham sim_agent package for exploring agent architectures, described in: http://www.cs.bham.ac.uk/~axs/cog_affect/sim_agent.html NB: this requires the poprulebase mechanisms in the prb/ sub-directory. sim/ includes some installation files and several subdirectories sim/auto sim/doc sim/help sim/lib sim/ref sim/teach sim/test simtar.gz A compressed tar file containing the package, including some postscript documentation in the sim/doc directory. The prb package is also needed to run sim. The graphical examples use the rclib/ libraries. teach/ TEACH files for VED and Pop-11 suitable for installation in $poplocal/local/teach. The following are among the teach files available teach/advent_objectclass Shows how to use OBJECTCLASS to define an adventure game. teach/gstart An introduction to Pop-11 using lib rc_graphic teach/netstart An accelerated introduction to the use of the Pop-11 database package: how to use it to create simple networks, and then write procedures that operate on those networks. teach/recursion Introduction to recursion and the functional style teach/induce_rules.p An introduction to rule induction programs teach/pop11.evolution A chapter from the book James Anderson, (editor) Pop-11 Comes of Age, Ellis Horwood, 1989 teach/popcore Brief summary of Pop-11 constructs used by beginners teach/popcore.tex Latex version of the above teach/tower A new introduction to searching in Pop11 teach/searching More advanced and general searching programs (plus many other teach files) An introductory course can be based on TEACH TEACH, TEACH VED, TEACH VEDPOP, TEACH RIVER, TEACH RIVER2, TEACH RIVERCHAT TEACH GRAMMAR TEACH TOWER TEACH SEARCHING And the files referred to therein tmac/ Some nroff macro definition files as described in help/rno and help/rno.extra and used in auto/ved_rno.p and auto/ved_rnoprint.p Can be used to provide elementary formatting on unix machines in VED. You may wish to change the ved commands to use a different set of nroff/troff macros NOTE there is now an online tutorial on latex for Ved users. teach/latex, teach/latex.tex ved_latex/ Some extensions to VED making it convenient for use with latex and xdvi. The main documentation file is ved_latex/ved_latex There's a tutorial on latex in these two files ved_latex/teach/latex A brief introduction to using latex from Ved ved_latex/teach/latex.tex A simple template file (latex 2e) for a project report ved_latextar.gz Compressed tar file including the ved_latex directory. Provides VED utilities and tutorials regarding use of latex, bibtex, etc. vedgntar.gz This contains utilities for reading and posting news from VED. It makes use of the NNTP protocol. The help files explain how the libraries work. The main help file is help/ved_gn vedmailtar.gz A collection of utilities for reading and sending mail in VED including mechanisms for preparing an indented response to a message, commands to prepare a reply (or indended response) to just the sender, or to all of the original recipients. This includes versions of ved_send and ved_reply which understand up to date formats for email addresses and also allows To: lists and Cc: lists to extend over several lines. The main documentation is in the file help/ved_getmail emacs.old/ This contains a copy of the emacs subdirectory of the $popcontrib directory, which is not included with Linux Poplog. It includes some modifications of emacs by Richard Caley to support use of Poplog. I hope to add further extensions by Birmingham users in due course. Please note the file emacs.old/rjc/COPYING. emacs.old.tar.gz is a compressed tar file containing the contents of the emacs.old/ directory. NOTE for emacs users Emacs users of Poplog should also try putting into their vedinit.p file in their $poplib directory the following uses vedemacs; See also the HELP VEDEMACS in the Poplog online help directory: $usepop/pop/help/vedemacs NOTE: the comp.lang.pop usenet news group can be used to ask questions about Pop-11 and post suggestions, etc. --- http://www.cs.bham.ac.uk/research/poplog/README --- ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/README --- Copyright University of Birmingham 2000. All rights reserved. ------