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

UNDER CONSTRUCTION. Sat Aug 28 11:16:00 BST 1999

For more information on Free Poplog systems see
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html

For information on bugfixes see
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/bugfixes/

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

Poplog is no longer marketed by Integral Solutions Ltd. However
commercial users interested in professional support may contact
ISL. For contact information see http://www.isl.co.uk

The following provisional licensing information is based on the XFREE86
licence.

    1.  Poplog Copyright

    Poplog code without an explicit copyright is covered by the
    following copy-right:

    Copyright (C) 1981-1999 The University of Sussex.  All Rights
    Reserved.

    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation
    files (the "Software"), to deal in the Software without
    restriction, including without limitation the rights to use,
    copy, modify, merge, publish, distribute, sublicense, and/or
    sell copies of the Software, and to permit persons to whom the
    Software is furnished to do so, subject to the following
    conditions:

    The above copyright notice and this permission notice shall be
    included in all copies or substantial portions of the
    Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
    KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
    WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE UNIVERSITY
    OF SUSSEX BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    OTHER DEALINGS IN THE SOFTWARE.

    Copyright notices in the Poplog code and documentation files
    do not restrict use of those files in accord with this notice,
    as the notices remain solely on account of requirements of the
    installation software used by the development team.

This Poplog distribution is based at the University of Birmingham solely
as a service to users.

    THE UNIVERSITY OF BIRMINGHAM GIVES NO WARRANTY OF ANY
    KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
    WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE UNIVERSITY
    OF BIRMINGHAM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    OTHER DEALINGS IN THE SOFTWARE.

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

                    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
 -- CREATE A DIRECTORY FOR POPLOG
 -- SET $usepop - The "root" directory for the current version
 -- CREATE AND SET $poplocal/local
 -- Installing Poplog on a Unix system (e.g. Linux, Solaris)
 -- How to install Poplog
 -- Preparing to run pop-11 and other poplog languages
 -- Setting up environment variables
 -- Installing Poplog on a PC running Windows 95/98
 -- 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)
 -- 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

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

It 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:

    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 should be regarded as a "beta" test version, and 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

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

Browsable documentation files are in the directory

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

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

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

Which also contains the latest version of this file.

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

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

(Other things are not worth copying.)

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

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

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

(Later there may be mirror sites.)

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

    linux1553.tar.gz
    solaris1553.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 18Mbytes
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, about 61 Mbytes
for the Solaris version, less for linux.


-- 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

    /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

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

-- 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


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


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

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

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

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


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

-- -- 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, 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.


-- 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/bhamteach.tar.gz

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


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

Poplog Version 15.53 works with Redhat Linux version 5 or 6. I don't
know if it works with other versions of linux. If you find that it does
please let me know (email A.Sloman @ cs.bham.ac.uk)

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

It works on DEC Alpha machines 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/

That directory has a README file explaining what is in all the
sub-directories and gzipped tar files. The freepoplog.html file will
contain an up to date listing in a convenient form, making it easy to
fetch things:
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html

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

    bhamteach.tar.gz
        many local utilities,teach files, etc.

    rc.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
        New version (Version 5.0 July 1999) of Poprulebase and Sim_Agent
        with new facilities described in
          ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/newsim/sim/help/newkit

    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.

    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

    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

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/README
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

    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, as before 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 normally supplied with motif and by default
linux poplog is not linked to use it.

If you are using Poplog with Linux and you have lesstif or motif and you
wish to have the benefit of extra motif-based facilities in Poplog, you
will need to re-link Poplog as explained later, to take advantage of the
facilities. (Or you can fetch a version of Linux poplog which includes
motif, from the freepoplog FTP site.)

You can run poplog without re-linking if you don't want to use 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
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/rc.tar.gz

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

If you do try re-linking poplog to use motif, remember that this version
of Linux Poplog has not been fully tested with Motif (as far as I know)
and if you use Lesstif there may be bugs in Lesstif or incompatibilities
between that and the version of Motif for which pop11 was designed.

In that case you can restore the original version, e.g by reinstalling
Poplog from the ....tar.gz file or by using the newpop command to
re-link without motif, as described below.

If anyone manages to get it to work with Lesstif, please let me know.


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

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

Instructions for re-linking follow. You should do this while you are
super-user. In case it goes wrong, make sure that you still have the
original poplog.tar.gz file so that you can re-install the original
version without motif, as described above.

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


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 @ cs.bham.ac.uk
Phone: +44-121-414-4775 (Sec 4774)       Fax:   +44-121-414-4281


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