This file is
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/new/install.txt
    http://www.cs.bham.ac.uk/research/poplog/new/install.txt

COPYRIGHT NOTICE AND INSTALLATION INSTRUCTIONS FOR POPLOG

THIS FILE IS UNDER CONTINUAL RE-CONSTRUCTION.

Last updated: 15 Dec 2004
Aaron Sloman
http://www.cs.bham.ac.uk/~axs/
=======================================================================

THE COPYRIGHT NOTICE FOR POPLOG AND ASSOCIATED SOFTWARE AND
DOCUMENTATION HAS BEEN MOVED TO
    http://www.cs.bham.ac.uk/research/poplog/copyright.html

=======================================================================

INFORMATION AND ACCESS

For more information on Free Poplog systems see
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html
also accessible now as
    http://www.cs.bham.ac.uk/research/poplog/freepoplog.html

All the URLs below which start thus:
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/

Can also be accessed via
    http://www.cs.bham.ac.uk/research/poplog/

For information on bugfixes see this directory

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/bugfixes/

For information on porting and rebuilding see the files in here:

    http://www.cs.bham.ac.uk/research/poplog/sysdoc/

NOTE: "Poplog" is a trade mark of the University of Sussex.

HISTORY OF POPLOG AVAILABILITY

Poplog was a commercial product between 1983 and 1999. In 1999 ISL
and Sussex university agreed that it should become available free of
charge, after ISL was taken over by SPSS, and decided to focus on
datamining.

Commercial users interested in professional support may contact
Integral Solutions Ltd (ISL), who continue to use Poplog, e.g.
within their Clementine system. See

    http://www.isl.co.uk
or
    http://www.spss.com


=======================================================================

                    INSTALLING POPLOG ON UNIX SYSTEMS
                        For Poplog Version V15.53

                  FIRST DRAFT INSTRUCTIONS 13 Jul 1999
                              Aaron Sloman
                       School of Computer Science
                      The University of Birmingham
                     http://www.cs.bham.ac.uk/~axs/

This is based on a set of notes originally written for Poplog users at
the University of Birmingham. I have tried to make this version more
generally useful, but may have slipped up. Please report errors or
omissions in THIS file to A.Sloman @ cs.bham.ac.uk

General enquiries or bug reports about Poplog, Pop-11, or the other
Poplog languages should NOT be posted to me. Instead post them to the
comp.lang.pop news group or to the email list pop-forum @ cs.bham.ac.uk
(which is linked to the news group.) In particular, I cannot answer
questions about Windows Poplog as I do not use a PC.


         CONTENTS

 -- WHAT IS POPLOG?
 -- GETTING POPLOG
 -- SIMPLE INSTALLATION
 -- CREATE A DIRECTORY FOR POPLOG
 -- SET $usepop - The "root" directory for the current version
 -- Installing Poplog on a Unix system (e.g. Linux, Solaris)
 -- How to install Poplog
 -- CREATE AND SET $poplocal/local
 -- Preparing to run pop-11 and other poplog languages
 -- Setting up environment variables
 -- Installing Poplog on a PC running Windows 95/98 or NT
 -- First check on installation
 -- -- On Unix installations
 -- -- Testing Eliza on PC Windows installations
 -- Testing XVED (Not available under Windows)
 -- Testing other languages Provided with Poplog (on Unix)
 -- Man files
 -- Documentation directories
 -- Edit your login startup file
 -- -- Problems??
 -- What is included in Poplog?
 -- Prerequisites
 -- Extensions to Poplog
 -- Installing extension packages
 -- Making the local files accessible
 -- Using Motif or Lesstif
 -- Re-linking Linux Poplog to run with Motif
 -- The default system saved images
 -- Saved images run by pop11, xved, prolog, clisp, pml
 -- Deleting unwanted saved images
 -- Building extended saved images
 -- Testing saved images created in templocalbin
 -- Replacing saved images in the system directory

-- WHAT IS POPLOG? ----------------------------------------------------

Poplog is a multi-language interactive software development system
including incremental compilers for Pop-11 (the core language), Prolog,
Common Lisp and Standard ML.

It also includes a powerful, programmable editor VED, with a
multi-window version XVed, which is similar in its facilities to Emacs,
though some users find Ved easier to learn to use. VED is programmable
in Pop-11.

There are various additions to Poplog (mainly Pop-11 and Ved, and AI
teaching resources) available from the freepoplog site, including
graphical interface tools, and a collection of "stay up" menu panels
based on those tools to help a beginner navigate and drive the poplog
editor.

Further information about Poplog and Pop-11 is available from

    http://www.cs.bham.ac.uk/research/poplog/poplog.info.html
or
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/poplog.info.html

and
    http://www.poplog.org

All of which provide pointers to further information at various sites.

A brief user guide is here:

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


Poplog was developed originally by Sussex University and was previously
a commercial product, sold by Integral Solutions Ltd (who use it in
their award-winning data-mining package Clementine). It is now freely
available via FTP. Information about availability is in:

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

Version 15.53 is the first free version of Poplog supplied with full
system sources. It will be developed and updated from time to time. Some
earlier versions for certain machine/operating system combinations are
also available at the same site, simply because I do not have machines
available to rebuild them with the latest sources.

The full system sources are in the directory

    http://www.cs.bham.ac.uk/research/poplog/src/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/src/

Browsable documentation files are in the directory

    http://www.cs.bham.ac.uk/research/poplog/doc/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/doc/

Information on rebuilding Poplog from the sources is in

    http://www.cs.bham.ac.uk/research/poplog/sysdoc/rebuilding
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/sysdoc/rebuilding

Additional information about rebuilding and porting is in that
directory
    http://www.cs.bham.ac.uk/research/poplog/sysdoc/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/sysdoc/

Complete systems, in gzipped tar files, are in the directory

    http://www.cs.bham.ac.uk/research/poplog/new/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/new/

Which also always contains the latest version of this file.

Anyone wishing to create a mirror site should follow the links in

    http://www.cs.bham.ac.uk/research/poplog/.for.mirrors
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/.for.mirrors

(Other things are not worth copying as they duplicate the information
held there.)

Information about bugs and bugfixes is in

    http://www.cs.bham.ac.uk/research/poplog/bugfixes/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/bugfixes/

There is a gzipped tar file which contains information all the files in
the FreePoplog directory in reverse chronological order, and is
regularly updated. It is

    http://www.cs.bham.ac.uk/research/poplog/.ls-lrt.gz
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/.ls-lrt.gz

This makes it easy to find out what has changed recently.

REMINDER:
All the above files and directories can be accessed using either http or
ftp, as these two are equivalent locations:

    http://www.cs.bham.ac.uk/research/poplog/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/


-- GETTING POPLOG -----------------------------------------------------

Fetch the file for your system from the Poplog distribution directory:

If you want to use Poplog under Linux on a PC (x86) then fetch

    http://www.cs.bham.ac.uk/research/poplog/bham-linux-poplog.tar.gz
        about 21 Mbytes

This includes 'recommended' extensions to Poplog from Birmingham and
Sussex and can be installed by following the instructions in

    http://www.cs.bham.ac.uk/research/poplog/linux-cd/SHORT-CUT-INSTALLATION.txt

You are advised to first run the checking script
    http://www.cs.bham.ac.uk/research/poplog/linux-cd/CHECK_LINUX_FACILITIES@

(If run as superuser, it can fix some simple problems by making links in
/usr/X11R6/lib to appropriate .so files, missing because a non-developer
option was chosen when linux was installed.)

The above tar file includes other things listed here:
    http://www.cs.bham.ac.uk/research/poplog/linux-cd/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/linux-cd/

Otherwise search in here for what you want, if you are an expert,
who already knows poplog well.

    http://www.cs.bham.ac.uk/research/poplog/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/new/

If it is not clear what you need, then read
    http://www.cs.bham.ac.uk/research/poplog/freepoplog.html

Most things are mirrored at http://www.poplog.org
(There was a period when some of those files were out of date.
Whenever possible try the bham site first.)

Poplog is distributed in the form of a gzipped tar file. Current
versions have names indicating platform and version:

Poplog version 15.53

    alphaunix-15.53.tar.gz
        With a supplement for Digital unix version 4.0E
        alpha-unix-v4.0e-images.tar.gz
    alphaunix1550.tar.gz
    solaris1553.tar.gz
    poplog-hppa-hpux9.tar.gz
    linux-pc-1553.tar.gz

(Some of these will be links to files with different names
or different locations.)

Slightly older versions

    pcsolaris1552.tar.gz
    pcwin-15.5.tar.gz
    powaix-15.52.tar.gz

Later a different naming scheme may be used, as more versions become
available.

These gzipped tar files may be between about 10Mbytes and 22Mbytes
depending on the version and whether system sources are included (now
the default for new versions of Poplog.)

When unpacked Poplog will require more space, of course, up to about 80
Mbytes depending on which version you install and which saved images
you build.

For more on Poplog for windows see
    http://www.cs.bham.ac.uk/research/poplog/winpop/

The old pcwindows version, which does not, at present include sources --
though they are available here:
    http://www.cs.bham.ac.uk/research/poplog/src/master/S.pcwnt/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/src/master/S.pcwnt/

If you are installing Poplog on a Unix system, read on. If you are
installing on windows 95/98/NT jump to the section below on Windows
Poplog, though you may find other information about poplog in this file
helpful.

If you are installing on VMS attempt to copy the unix directory
structure described below.


Fetch the poplog "man" files which are in this file:

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/man.tar.gz

This file also contains a bin subdirectory, containing a shell
script which simplifies the process of starting up poplog and a file
Xdefaults.poplog which can be used to optimise the operation of the
poplog editor Ved.


-- SIMPLE INSTALLATION ------------------------------------------------

The file

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/new/INSTALL_LIKE_BHAM
or
    http://www.cs.bham.ac.uk/research/poplog/new/INSTALL_LIKE_BHAM

contains a shell script which creates directories and installs poplog,
if you run it in the directory in which you have located the various
*.tar.gz files

It was written to help students at Birmingham set up Linux Poplog V15.53
including various extensions available from

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/
or
    http://www.cs.bham.ac.uk/research/poplog/

e.g.
    bhamteach.tar.gz
    emacs.tar.gz
    image-scripts.tar.gz
    man.tar.gz
    newkit.tar.gz
    popvision.tar.gz
    rc.tar.gz
    rcmenu.tar.gz
    userfiles.tar.gz
and
    pophtmlprimer.tar.gz

These packages are described in the freepoplog.html file, and below.
They are included in the bham-linux-poplog.tar.gz file.

If you fetch the INSTALL_LIKE_BHAM file, you should edit it as necessary
before running it in the directory containing the .tar.gz  files.

The following sections explain in more detail what is required.

Note that most of this is now automated for linux poplog if you
follow the instructions in:

    http://www.cs.bham.ac.uk/research/poplog/linux-cd/SHORT-CUT-INSTALLATION.txt

But you may find it useful to read the following even if the actions
are all done for you by the installation scripts.


-- CREATE A DIRECTORY FOR POPLOG --------------------------------------

After you have fetched the gzipped tar file you will need to create a
directory $usepop for the main poplog system, and a "local" directory
$poplocal in which you can place additional packages, etc.

Choose a directory in which to install Poplog. On a unix system this
might be something like this.

    /usr/local/poplog

If you create a new directory below that each time you install a new
version of poplog, that will make it easier to manage changes of poplog
systems, and test out a new version while an old one is still in use.

So for poplog V15.53 create a "root" poplog installation subdirectory
called

    /usr/local/poplog/v15.53

Create a parallel directory for local extensions, and for addition of
the various packages and teaching materials available at the FreePoplog
site:

    /usr/local/poplog/local

Create directories for the man files (mentioned above) and the
poplog startup script and the Xdefaults file (in the bin directory for
easy access).

    /usr/local/poplog/man
    /usr/local/poplog/bin


-- SET $usepop - The "root" directory for the current version ---------

Set the Unix environment variable "usepop" to refer to the root
installation directory. E.g. in a C-type shell use this command:

    setenv usepop /usr/local/poplog/v15.53

in other shells

    usepop=/usr/local/poplog/v15.53
    export usepop

Henceforth the root installation directory will be referred to as
$usepop.

-- Installing Poplog on a Unix system (e.g. Linux, Solaris) -----------

It is assumed that you have copied the tar file, which, will be referred
to as
        poplog.tar.gz

although the "poplog" bit will be different for different versions of
Poplog. E.g. it may be something like linux1553.tar.gz or
solaris1553.tar.gz

The directory where the tar file is kept will be referred to as
        .../

so the tar file will be referred to as

        .../poplog.tar.gz

After setting "usepop", as described above, you can install poplog in
the directory you have set to be $usepop, e.g. in this directory:

    /usr/local/poplog/v15.53

If you wish to install it somewhere else you can do so, but then all the
instructions which follow will have to be changed to use the correct
path name for the installation directory.


-- How to install Poplog ----------------------------------------------

You should be able to extract the poplog system into the root
installation directory $usepop previously created, as follows:

    # 1. Make the installation directory your "current working
         directory" thus:
    cd $usepop

    # 2. Extract the Poplog system from the tar files
    zcat .../poplog.tar.gz | tar xf -

        (replace the dots and "poplog.tar.gz" as appropriate).

The above could take several seconds to several minutes depending on the
speed and size of your computer. It may consume 40-70 Mbytes of file
space on your hard drive, depending on the version of poplog.
(You can later save space if you wish by deleting unwanted sources and
saved images.)

The above command will unpack the poplog tar file and create the
directory

    $usepop/pop/

e.g.

    /usr/local/poplog/v15.53/pop

If you then check out what is in that directory

    ls -F $usepop/pop

you'll find that it includes directories like these (and maybe more):

    adm/    doc/    help/   lisp/   plog/   pop/    src/    ved/
    com/    extern/ lib/    obj/    pml/    ref/    teach   x/

There is an overview of most of the Poplog directory structure in

    $usepop/pop/doc/sysspec

which can be read in the poplog editor VED using the command
    ENTER doc sysspec

That file may be slightly out of date, but the general information about
the layout of the Poplog directory tree should be correct.


-- CREATE AND SET $poplocal/local -------------------------------------

It is useful to have a directory in which you can add additional poplog
libraries imported from elsewhere or created by you. This could be
adjacent to the installation directory, so that it is not deleted when
you delete or replace the $usepop installation directory. A typical
location would be:

    /usr/local/poplog/local

Create it thus:

    mkdir /usr/local/poplog/local

If you associate the unix environment variable $poplocal with the
directory above that one, then Poplog will automatically look for local
extensions in $poplocal/local. (The two level structure is a relic of
an early version of Poplog running on VMS which distinguished disks and
directories.)

To set the environment variable do in a C-shell

    setenv  poplocal /usr/local/poplog

or other shells:

    poplocal=/usr/local/poplog
    export poplocal

Then the local directory will be $poplocal/local. In there you can
create further local directories called com, auto, lib, teach and help,
etc., mirroring the structure in the main poplog directory. These local
extensions can be preserved when you upgrade poplog later.

If you install packages fetched from the freepoplog site, e.g. the rclib
or rcmenu  or popvision package, you can install them in
$poplocal/local.

It may be convenient to set the environment variable $local to be
equivalent to $poplocal/local

The default value of $poplocal if you do not set it is set in
$usepop/pop/com/popenv as

    $usepop/pop

As an alternative to setting it differently you can do

    ln -s ../../local $usepop/pop/local

Then $usepop/pop/local will point to /usr/local/poplog/local


-- Preparing to run pop-11 and other poplog languages -----------------

The executable images are in the sub-directory pop/pop/ along with some
other things.

Try
    cd $usepop

    ls -l pop/pop

This should include the main executable file, basepop11, linked to
various files representing names by which poplog can be invoked, e.g.
pop11, prolog, clisp, xved, etc. how it starts up will depend on how it
was invoked. Normally it will start up saved images which can be found
in this directory

    $usepop/pop/lib/psv/

e.g.
        startup.psv
            The basic poplog and Ved/Xved saved image. This will
            be run by the pop11 command, which is equivalent to
                basepop11 +startup

        xved.psv
            A version which goes straight into Xved on startup

        prolog.psv
        clisp.psv
        pml.psv
            Precompiled versions of Prolog, Common Lisp and ML.

You may, if you wish, rebuild startup.psv to include more or less
stuff, by editing the file

    $usepop/pop/com/mkstartup

For instance, here in Birmingham we normally alter it to include
objectclass and the rclib graphical package. The bham packages put
saved images in

    $usepop/poplocalbin

-- Setting up environment variables -----------------------------------

Before you can run any of Poplog you have to set up various environment
variables, as follows

If your shell is csh, or tcsh, then do

    # setup the root environment variable if not already set
    setenv usepop /usr/local/poplog/v15.53

    # set the poplocal variables
    setenv poplocal /usr/local/poplog
    setenv local    $poplocal/local

    # setup additional environment variables relative to that, and
    # extend $PATH
    source $usepop/pop/com/poplog

Alternatively, using bash or ksh, or sh you can do

    usepop=/usr/local/poplog/v15.53
    export usepop

    poplocal=/usr/local/poplog
    local=$poplocal/local
    export poplocal local

    . $usepop/pop/com/poplog.sh


The "source" or "." command will set up several environment variables
used by pop-11 and other parts of the poplog system, and extend $PATH

You are now ready to run the programs, as described below in the section
on testing the installation.

There are man files explaining this and some sample shell scripts
for starting up Poplog available in
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/man.tar.gz

-- Installing Poplog on a PC running Windows 95/98 or NT --------------

Fetch the file from the installation directory, by following the link in

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html

Copy the gzipped tar file onto your PC and use the Winzip program to
unpack it. There should be ten directories and a README file.

    DISK1/
    ...
    DISK10/

Disk1 one should have several files in it including disk1.id, setup.exe
and others. Each of the other files should have two files, an empty file
with suffix ".id" and a large non-empty file.

Look inside DISK1. Run the program

    SETUP.EXE

Then follow instructions including specifying an installation directory.

This will put a file README.TXT in the installation directory. You
should read that file for further information. A copy of it is provided
in
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/new/pcwinpoplog.txt

Further information about PC windows poplog is in

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/new/pcwinpoplog.readme.txt


-- First check on installation ----------------------------------------

Note that the bham-linux-poplog.tar.gz installation scripts
create a subdirectory called startup in which you can run various
test scripts provided.

-- -- On Unix installations

Under Unix try to run this:

    pop11

On Windows, select Poplog from the Programs menu (accessible via
Startup).

This should print out something like:

    Sussex Poplog (Version 15.53 Mon Jul 12 19:45:02 BST 1999)
    Copyright (c) 1982-1999 University of Sussex. All rights reserved.

    Setpop
    :

It ends with a colon, the standard Pop-11 prompt. You can type pop-11
commands directly to the prompt. They will be compiled and run. Then you
can type more commands, etc. Usually, however, it is more convenient to
run Pop-11 from inside an editor, which saves re-typing if you make a
mistake.

If you get the pop11 startup prompt you can check that everything is
fine by computing factorial 10000, by typing in a procedure definition,
then a command to run it:

    ;;; define a factorial function
    define fact(x); if x == 0 then 1 else x * fact(x-1) endif enddefine;

    ;;; Test it
    fact(1000) =>

The answer is a very big number which takes about 29 lines to print
(depending in the width of your screen).

You can check that it gets the right answer by computing two factorials
and dividing them

    fact(1000)/fact(999) =>

which should print out
    ** 1000

You can leave pop-11 by typing CTRL-D, (or "bye).

Test that the pop-11 eliza library works, as follows

    # run pop-11 from the shell
    pop11

then when you get the colon prompt, type the following to autoload the
eliza library program and then run it.

    eliza();

This will compile the Eliza program, then run it. Instructions will be
printed out.

Type each assertion on one line, ending with the RETURN key (not the
ENTER key).

When you have finished with Eliza, type:

    bye

to get back to the Pop-11 prompt. (To edit your version of eliza copy
the file $usepop/pop/lib/lib/elizaprog.p, or fetch and edit the version
at Birmingham:
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/lib/elizaprog.p )

-- -- Testing Eliza on PC Windows installations

Run Poplog and in the window which is created with a colon prompt, type
    lib eliza

that should compile the libray program. Then

    eliza();

That will start up eliza, as above. Give your comments to eliza on one
line at a time, terminated by RETURN. When finished type

    bye

I hope someone will produce a more detailed guide to Poplog for PC
users.

-- Testing XVED (Not available under Windows) -------------------------

XVed is a multi-window version of the Poplog VED editor. If your system
includes Motif (or Lesstif, XVed will also provide a scroll bar and
menus at the top of each window.

Leave Pop-11 and type

    xved &

This should run the X version of Ved.
If you then use the ENTER (not RETURN) key and type

    ENTER teach teach

you will get an online tutorial on the editor. (There are more up to
date tutorial files available from the Birmingham FTP site.)

If the ENTER key does not move the VED cursor up to the "command" line
at the top of the window, use CTRL-G for ENTER. For alternative key
sequences see
    $usepop/pop/help/vedkeys

The Birmingham rcmenu package available from the freepoplog site
provides menu panels to help you drive the editor.

-- Testing other languages Provided with Poplog (on Unix) -------------

To run Poplog prolog, give the command

    prolog

which is equivalent to

    pop11 +prolog

To run Poplog Common Lisp give the command

    clisp

which is equivalent to

    pop11 +clisp

To run Poplog ML give the command

    pml

which is equivalent to

    pop11 +ml

All of these will start up a process which includes the editor VED and
the Pop-11 system. Online documentation explains how you can make these
languages call Pop-11 and vice versa. To build a system that contains
more than one language extension you can copy and edit mk* files in
the directory

    $usepop/pop/com/

Some combinations are already there, e.g. mklispplog and mkploglisp
which show now to use the existing Prolog image to build a new layered
saved image with Common lisp, and how to use the existing Common Lisp
image to build a new layered saved image with prolog.

-- Man files ----------------------------------------------------------

If you are setting up Poplog for use by multiple users you may find it
useful to copy and install the man files and shell scripts available
here:

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/man.tar.gz

The shell scripts may also be useful for a single user

-- Documentation directories ------------------------------------------

There is a huge amount of online documentation of varying kinds and
formats, supplied with Poplog:

    $usepop/pop/teach
        Tutorial introductions to the editor, Pop-11 and AI techniques
            (Many of the latter are out of date. More up to date
            versions will be added later.)

        An overview file is
            $usepop/pop/teach/teachfiles

    $usepop/pop/help
        More terse help files on many aspects of Pop-11 and VED

        An overview file is
            $usepop/pop/help/helpfiles

        People who are used to older versions of Poplog may find it
        useful to study
            $usepop/pop/help/news
            $usepop/pop/help/plognews
            $usepop/pop/help/lispnews
            $usepop/pop/help/pmlnews

    $usepop/pop/ref
        Extremely full documentation on Poplog, Pop-11, the Poplog
        virtual machine, VED facilities, the operating system
        interface, the external language interface, etc.
        This documentation is mostly written for experts. See the
        overview file
            $usepop/pop/ref/reffiles

    $usepop/pop/doc
        Some out of date overview files, which may still have some
        useful information but are likely to be incomplete. E.g.
        there is a Ved manual and a Userguide.

    $usepop/pop/x/pop/teach
    $usepop/pop/x/pop/help
    $usepop/pop/x/pop/ref
        Tutorial, summary help, and reference documentation on the
        Poplog X window interface, including the Poplog widget set.

        In particular a lot of information about how poplog starts up
        and how you can tailor it is in
            $usepop/pop/ref/system
                REF SYSTEM
            $usepop/pop/help/initial
                HELP INITIAL

    $usepop/pop/x/ved/teach
    $usepop/pop/x/ved/help
    $usepop/pop/x/ved/ref
        Tutorial, summary help, and reference documentation on the
        X-based version of the Ved editor (including multiple windows,
        mouse driven interaction, etc.)

    $usepop/pop/lib/objectclass/teach
    $usepop/pop/lib/objectclass/help
    $usepop/pop/lib/objectclass/ref
        Documentation on the Objectclass system which extends Pop-11
        with object oriented programming facilities, much as CLOS
        extends Common Lisp

There is also documentation on the Prolog, Common Lisp, and ML language
subsystems.

    $usepop/pop/plog/teach
    $usepop/pop/plog/help
        Prolog documentation

    $usepop/pop/lisp/help
    $usepop/pop/lisp/ref
        Common Lisp documentation

    $usepop/pop/pml/help
        Standard ML documentation

All of the online documentation is formatted to facilitate reading in
VED. There is a package which tailors Emacs for use with Poplog
including documentation files. See

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/emacs.tar.gz

Extensions to the standard AI teaching and program libraries
included in the main Poplog system are available from Birmingham in

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/bham.tar.gz

These can be installed in the $poplocal/local directory, e.g.

    /usr/local/poplog/local


-- Edit your login startup file ---------------------------------------

If the above tests show that pop-11 works, then you could put into your
    .login
file the following lines, so that they are obeyed automatically whenever
you log in.

    setenv usepop /usr/local/poplog/v15.53  #or whatever the directory is
    setenv poplocal /usr/local/poplog
    setenv local $poplocal/local
    source $usepop/pop/com/poplog

If you don't use .login because you use bash or sh or ksh try putting
this in your .profile or .bashrc directory

    usepop=/usr/local/poplog/v15.53  #or whatever the directory is
    poplocal=/usr/local/poplog
    local=/usr/local/poplog/local
    export usepop poplocal local
    . $usepop/pop/com/poplog.sh

Optionally you can include this (for csh, tcsh)

    setenv poplib ~/Poplib

or this (for sh, bash, ksh)

    poplib=<yourlogindirectory>/Poplib
    export poplib

and then put any private poplog libraries of your own, not shared by
other users of the same machine, in your Poplib directory, e.g. files
which configure poplog and the editor, init.p, vedinit.p, init.pl etc.

After that you should be able to run poplog whenever you login.

If you don't wish to alter your .login or .profile file permanently, put
those commands into a file called setup.poplog and then run the file
before you run poplog.

[This startup mechanism will be replaced and improved in later versions
of Poplog.]


-- -- Problems??

If it doesn't start up at all, or complains about missing files, then
you may have an incomplete installation, or you may have given an
incorrect command at some point.

If the attempt to run poplog does not work, you should record
EXACTLY what is printed out, and post a request for help to the

    comp.lang.pop

newsgroup, or

    pop-forum@cs.bham.ac.uk

Please do NOT write to me (A.Sloman).


-- What is included in Poplog?

When everything is working, you will find a system overview file in:

    $usepop/pop/doc/sysspec

You can interrogate this from inside Ved with the command

    ENTER doc sysspec

Please remember that it is at best an approximate guide to the current
version of Poplog, and is likely to be out of date.

That file does not list the Bham and Sussex extensions provided.

-- Prerequisites ------------------------------------------------------

Poplog Version 15.53 works with Redhat Linux version 6, 7.1, 7.2,
7.3, 8, 9, Fedora Core 1, Fedora Core 2, and with various other versions
of linux, e.g. Suse, Slackware. It has also been used with FreeBsd
Debian and other things.

See
    http://www.cs.bham.ac.uk/research/poplog/freebsd/
    http://www.cs.bham.ac.uk/research/poplog/debian/

It also works with Solaris (various versions) on Sparc and on Intel.

It works on DEC Alpha machines (now Compaq) running Digital Unix.

There are additional versions available at the freepoplog site, though
not all have been tested by me.

If you have any problems, please post a message to comp.lang.pop asking
for help, or email pop-forum @ cs.bham.ac.uk

-- Extensions to Poplog -----------------------------------------------

Extensions to Pop-11 and Ved are available for copying by ftp from this
directory

   ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/
or from
   http://www.cs.bham.ac.uk/research/poplog/

The latter URL will automatically read in the freepoplog.html file
which contains an up to date listing in a convenient form, making it
easy to fetch things, also accessible as:
    http://www.cs.bham.ac.uk/research/poplog/freepoplog.html
or
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html


The main extensions to Poplog (developed at Sussex and Birmingham
universities) are all available both in a browsable format and packaged
in gzipped tar files:

    bham.tar.gz
        many local utilities,teach files, etc. from
        Sussex and Birmingham. (2Mb, approx).


    rclib.tar.gz
        The RCLIB package extending the Pop-11 rc_graphic library
        and providing, control panels, GUI stuff

    rcmenu.tar.gz
        Menu panels and control panels built on RCLIB, including menus
        to help with use of the editor.

    prb.tar.gz
        Poprulebase
            (a very flexible forward chaining condition-action
             rule-interpreter). (See newkit, below)
    sim.tar.gz
        The sim_agent toolkit
            (This uses Objectclass, Poprulebase and RCLIB to produce a
            toolkit for exploring architectures for interacting
            intelligent agents.) (See newkit below)

    newkit.tar.gz
        Packaged version of Poprulebase and Sim_Agent
        including new facilities described in

          http://www.cs.bham.ac.uk/research/poplog/newkit/sim/help/newkit
          ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/newkit/sim/help/newkit

        Some demonstrations using the sim_agent tookit:
            brait.tar.gz
                Simulated braitenberg vehicles
            simworld.tar.gz
                Some teaching materials developed by Matthias Scheutz at
                The University of Notre Dame, USA
        See
        http://www.cs.bham.ac.uk/research/poplog/packages/simagent.html
        http://www.cs.bham.ac.uk/research/poplog/figs/

    popvision.tar.gz
        The popvision library including neural net facilities, developed
        by David Young at Sussex, including code and documentation. This
        uses a mixture of Pop-11 and C.

    primerhtml.tar.gz
        HTML version of the Pop-11 primer (also included in Poplog as
            $usepop/pop/teach/primer
        The HTML version has out of date information about poplog
        distribution, and will later be brought up to date.

    pattern.tar.gz
        A small library extending the Pop-11 pattern matcher with the
        "!" prefix. This makes it possible to use patterns with
        lexically scoped variables. Included in bhamteach.tar.gz,
        bham.tar.gz and newkit.tar.gz

    ved_latex.tar.gz
        Ved extensions for driving latex (including a latex tutorial)

    vedmail.tar.gz
        Extensions and improvements to the VED interface for reading
        and sending mail

    vedgn.tar.gz
        A collection of utilities for reading and posting news from
        inside the VED editor. This completely supersedes the VED_NET
        library distributed with Poplog.

    contrib.tar.gz
        A collection of libraries and documentation contributed at
        various times. It includes code from various books such as
        the Gazdar and Mellish books on Natural Language processing
        and Larry Paulson's book on ML. Some of these are quite old.

    emacs.tar.gz
        Emacs interface to poplog, by Brian Logan and others

Additional files and subdirectories (including the Pop-11 primer in
various formats) are described in the README file
    http://www.cs.bham.ac.uk/research/poplog/freepoplog.html
or
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html


-- Installing extension packages --------------------------------------

If you have not already done so, create a local poplog directory,
preferably in the same directory as you used to install poplog, but
not as a subdirectory of the installed system, since you may wish
to keep your local version if you update poplog:

    cd /usr/local/poplog
    mkdir local

    cd local

You can then install other files whose names end in gz
E.g.

    zcat .../bhamteach.tar.gz | tar xf -
    zcat .../rc.tar.gz | tar xf -
    zcat .../popvision.tar.gz | tar xf -

etc.

where  the dots indicate the path preceding the file names where you
have installed or mounted the .gz files copied from the ftp directory
(or CD rom).

-- Making the local files accessible ----------------------------------

The default Poplog system assumes that the local directory is installed
in

    $usepop/pop/local

This is not a good location, as the $usepop/pop directory may be
deleted when you get a new version of Poplog.

So you can make that file a link to the actual location thus;

    cd $usepop/pop
    chmod u+w .
    ln -s ../local local
    chmod u-w .

Instead of creating that link, you can change the definition of
$poplocal in your .login file, immediately after defining $usepop:

    setenv poplocal $usepop

If you have done all that successfully it will have the following
effects:

    The VED "ENTER teach" command should automatically access the
    files in $poplocal/local/teach, as well as the system TEACH
    directories e.g. $usepop/pop/teach

    The "ENTER help" command will access files in $poplocal/local/help.

    The files in $poplocal/local/auto will be automatically loaded when
    needed, as described in HELP AUTOLOAD.

    The files in $poplocal/local/lib can be compiled using either the
    "lib" command which always compiles its argument, e.g.
        lib readpattern

    or, more commonly the "uses" command, which only compiles if the
    library has not yet been compiled already, e.g.

        uses readpattern


-- Using Motif or Lesstif ---------------------------------------------

On most Unix systems, poplog is linked to use Motif, and you can ignore
this section. E.g. motif is included in versions of Poplog for Solaris,
Digital Unix, SGI, HP Unix.

However, Linux is not always supplied with motif. Versions of linux
poplog with and without motif are provided in
    http://www.cs.bham.ac.uk/research/poplog/new/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/new/

If you don't have motif, you will then not be able to use the propsheet
facilities, described in
    $usepop/pop/x/pop/ref/propsheet
or other facilities built on it, nor will Xved have scroll bars or menus
at the top.

However, the Birmingham RCLIB package which provides sliders, menus,
control panels, etc. will work without motif. It is available from
    http://www.cs.bham.ac.uk/research/poplog/rclib.tar.gz
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/rclib.tar.gz

with a collection of "stayup" menus and control panels in
    http://www.cs.bham.ac.uk/research/poplog/rcmenu.tar.gz
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/rcmenu.tar.gz


-- Re-linking Linux Poplog to run with Motif --------------------------

If you have installed Linux poplog linked without motif, and you then
acquire motif or lesstif, you can relink Poplog to use motif (or
lesstif). This may be simpler and quicker than fetching and installing
the version linked with motif.

Note: there is now a free version of motif, which appears to be superior
to Lesstif. Information about fetching it installing it and re-linking
poplog ot use it can be found here:

    http://www.cs.bham.ac.uk/research/poplog/tools/openmotif.txt

and a script to use in case you cannot relink

    http://www.cs.bham.ac.uk/research/poplog/tools/relinking.linux.poplog

Instructions for re-linking follow. If they don't work, fetch the above
two files and use them.

You should do the following while you are super-user (or owner of the
Poplog driectory).

In case it goes wrong, make sure that you still have the original
distribution file so that you can re-install the original
version without motif, as described above.

Relink thus:

1. unprotect both $popsys and $usepop/pop/extern/lib, the latter
   so that libXpw.so can be rebuilt.

    chmod -R u+w $popsys $usepop/pop/extern/lib

2. Give this command to do the re-linking

    $popsrc/newpop -link -x=-xm -xpw -norsv


Other options are described in the HELP NEWPOP file, i.e.
    $usepop/pop/help/newpop

You can add the following to prevent installation in $popsys

     -noinstall

e.g. to see if re-linking works.

After re-linking you should be able to run poplog if you have Motif
available. You can then run Xved with scroll bars and menus on each
window. However, even without Motif you can run the rclib and rcmenu
packages mentioned above.


-- The default system saved images ------------------------------------

NOTE: the saved images which come with the poplog system initially are
in
    $usepop/pop/lib/psv/

By default this usually includes the following Poplog saved image files,
with suffix '.psv':

    clisp.psv       Common Lisp
    pml.psv         Poplog ML
    prolog.psv      Prolog
    startup.psv     The Pop-11 facilities
    xved.psv        Xved

These files cannot be run on their own. They need to be run "on top of"
the basic pop-11 executable image, basepop11, which is in the directory
held in the $popsys environment variable, i.e.

    $usepop/pop/pop

-- Saved images run by pop11, xved, prolog, clisp, pml ----------------

If all environment variables have been set up, running the command
"pop11" is equivalent to:

    basepop11 +startup.psv
or
    basepop11 +startup

(since the .psv can be omitted).

The "xved" command is equivalent to:

    basepop11 +startup +xved

"prolog" is equivalent to

    basepop11 +startup +prolog

Likewise common lisp:

    basepop11 +startup +clisp

And Poplog ML

    basepop11 +startup +pml

A saved image created on top of another saved image can be run ONLY
with that image running also. The shell scripts for creating those saved
images are in the $usepop/pop/com directory, and start with "mk".

Saved images are searched for in the "path" held in the environment
variable $popsavepath, which defaults to
    :$poplib:$poplocalbin:$popsavelib

(i.e. first look for .psv files in the current directory, then in the
user's $poplib directory, then in a directory of local saved images,
then in the system saved image directory).

-- Deleting unwanted saved images -------------------------------------

If you wish to delete unwanted saved images you can do this:

    # make the directory and the files writeable by the owner
    chmod -R u+w $usepop/pop/lib/psv

Then use "rm" to remove the .psv files you don't want. They can always
be re-built later, using the shell scripts in $usepop/pop/com

(None of this applies to the Windows version of Poplog).


-- Building extended saved images -------------------------------------

The system saved images provided with Poplog give you a more "primitive"
version of pop-11 than the one we use at Birmingham (e.g. the default
version doesn't include rc_graphic and objectclass precompiled).

If you wish to create a version of Pop-11 with more facilities
precompiled, you can copy and edited

    $usepop/pop/com/mkstartup

Warning: if you rebuild the startup.psv saved image (for running pop11)
you will then also have to rebuild the other saved images, e.g. run
the required subset of these files in $usepop/pop/com

    mkclisp
    mkprolog
    mkeliza
    mkpml
    mkxved

If you wish to put the new startup.psv image in the $poplocalbin
directory instead of the $popsavelib directory change this line in the
shell script mkstartup

    -nodebug -nonwriteable -install $popsavelib/startup.psv \

to
    -nodebug -nonwriteable -install $poplocalbin/startup.psv \

If you have successfully installed the files from the Birmingham
bhamteachtar diskette you will find that the files in the directory

    $poplocal/local/com/

include several shell scripts for creating and installing new saved
images which already have various local poplog extras pre-compiled. You
may be able to work out which ones you need e.g. by reading the
following files:

    $poplocal/local/com/mkstartup.nomotif
        This creates a startup.psv image which already includes
        objectclass, rc_graphic and various other useful things
        which are part of the standard pop-11 configuration at
        Birmingham, though not necessarily elsewhere.

    $poplocal/local/com/mkall.nomotif
        This can be used to rebuild a lot of saved images similar
        to those installed at Birmingham.

The best way to proceed may be to make a copy of mkall.nomotif (e.g.
call it my.mkall) then edit it to prevent construction of the saved
images you don't want. You must include the startup saved image.

Run your new script, storing all the output in a log file

    $poplocal/local/com/my.mkall >! mkall.log

It should take a few minutes, depending on the speed of your machine and
how many saved images you decide to create. Examine the log file to make
sure there are no errors (there may be some warnings, e.g. from
compiling common lisp, which you can ignore).

-- Testing saved images created in templocalbin -----------------------

If you run mkall.local (or a modified version) to create "local" saved
images, then at the end you should have a new directory in which the
saved images have been built, which you can inspect

    ls -l $usepop/templocalbin

If it includes startup.psv and other files which look like the ones you
want, then you can test the new files as follows.

    # move to the templocalbin directory
    cd $usepop/templocalbin

Run the equivalent of a new version of Pop-11, Xved, lisp, or prolog.
You can run the equivalent of Pop-11 using the newly created
startup.psv saved image thus:

    basepop11 +startup

or Xved (if you have created the xved.psv on top of the new
startup.psv), thus:

    basepop11 +startup +xved

The new prolog can be tested as

    basepop11 +startup +prolog

Likewise common lisp:

    basepop11 +startup +clisp

And Poplog ML

    basepop11 +startup +pml

-- Replacing saved images in the system directory ---------------------

If you want to move your newly created saved images to $popsavelib
so that you can invoke them using the commands "pop11", "prolog", etc.
then you can delete the old saved images in $popsavelib as explained
above, or possibly save them in a file from which they can be retrieved
later. E.g. to save the original images in a bak file.

    cd $popsavelib

    #create a "bak" version
    mkdir ../psv.bak

    #move the old saved image files there
    mv *.psv ../psv.bak

Then install the new ones in $popsavelib doing something like this:

    cd $usepop/templocalbin
    # move everything to the standard saved image directory
    mv * $popsavelib


To find out more about saved images see HELP SYSSAVE, HELP SYSRESTORE,
and for full gory details REF SYSTEM. Some of the files use the mkimage
library, described in HELP MKIMAGE

If you have any problems or queries please post them to the
comp.lang.pop newsgroup, not to me.

Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK
EMAIL   A.Sloman AT cs.bham.ac.uk
Phone: +44-121-414-4775         Fax:   +44-121-414-4281


--- http://www.cs.bham.ac.uk/research/poplog/new/install.txt
--- ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/new/install.txt
--- Copyright University of Birmingham 2004. All rights reserved. ------
