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