> Are there any public-domain Poplog libraries for X windows?
I feel that Poplog needs a more easily usable set of tools for building
menus and control panels than those provided by default in Poplog.
In particular, although the propsheet library is very general I think
its procedural interface is totally unsuited to Pop-11 (e.g. there is no
procedure with 'slider' as part of its name if you wish to create a
slider: instead there's a very peculiar pattern language, presumably
based on X conventions rather than what a typical Pop-11 user would
expect. This means that although there's lots of generality in the
package, most simple things are just too hard to do. I am sure this must
seriously have held back the use of pop-11 in recent years: a great
opportunity to produce the nicest tools for driving X was lost. (The PWM
was much better -- much easier to use for simple tasks.)
There is also no simple procedural mechanism for specifying and changing
colours, default locations, changing locations, widths of panels, fonts,
etc. because of the decision (in my view wrong-headed) to rely on the X
resource file conventions rather than proper procedural definitions. (If
all these had been properly defined at the Pop-11 procedural level it
would have been trivial to write programs to read X resource files if
necessary.)
All this came from the decision to use standard X widget sets, rather
than defining a portable Poplog-based set of tools for menus and control
panels (analogous to the Poplog graphic library).
I also did not like the way XVED menus are defined. As far as I can see,
they are largely based on an attempt to emulate what a Mac or PC user
might expect rather than what a Poplog programmer would need as a
procedural interface. Worst of all, you can't use them to drive ordinary
VED, which I much prefer most of the time as I don't like the
proliferation of windows forced by XVED when you use a lot of files.
So, for all these reasons, I have (with considerable difficulty)
produced some experimental libraries based on LIB PROPSHEET, which,
after some help from Adrian Howard and Anthony Worrall, seem to work
under both Openlook and Motif, though I have not used them with Motif
apart from a few minutes of testing over Janet! My menu (control-panel)
facilities have been used at Birmingham to introduce new students to VED
though the more competent users soon wean themselves off the menus and
switch to using commands and key sequences.
I don't know if these tools will work with VMS. If Propsheet works with
VMS then they should work.
My libraries, all written in Pop-11, but presumably easily invoked from
Prolog, are freely available to any Poplog user (along with other
things, such as new teaching materials, lib poprulebase which supersedes
lib newpsys), via ftp from the Birmingham Poplog ftp directory:
ftp://ftp.cs.bham.ac.uk/pub/dist/poplog
There is a README file giving an overview of the whole directory, which
I append to this message.
The X facilities which are relevant to your question are in the two
subdirectories:
pui/
Libraries for creating pop-up menus, dialogue boxes,
browsers, etc. extending the standard pop_ui library.
menu/
For designing autoloadable 'stay up' control panels, with a
very easy pop-11 syntax (define :menu .... enddefine) and
a mechanism for re-building the relevant panel automatically
if you recompile the definition. These panels can be mutually
recursive, e.g. panel X can bring up panel Y, and panel Y can
bring up panel X. Thus the control panels need not be tree
structured, and users can create their own navigational aids.
As they are autoloaded on demand, they don't take up space till
they are used.
The menu facilities presuppose the pui facilities. There's an
introductory demo illustrating the use of these facilities to control
a dynamic graphical display in the file menu/teach/menu_demo.p
Both the menu/ and pui/ directories have subdirectories e.g. teach auto
help etc, and each provides a file that can be copied to
$poplocal/local/lib and which extends search lists to make the new
libraries available. There are also "install" shell scripts, which copy
files and set up links to facilitate autoloading. If you produce VMS
versions I would be grateful if you'd send me copies to put in the
libraries.
The file menutar.Z is a compressed tar file containing the contents of
both the menu/ and pui/ subdirectories.
It is possible that some of the facilities not in menu/ or pui/ but in
the in the auto/ and lib/ subdirectories are also required. Please let
me know if you find anything that does not work because of this.
Comments and criticisms always welcome. I would like to see a collection
of freely available libraries for developing interfaces, expert systems,
etc. on top of Poplog.
> ...Replacements
> for the PWM tools that came with flavours would be nice, but I'd also
> like to know what else exists out there.
I expect Flavours eventually to be completely replaced by Objectclass.
There is a graphical library (GO) based on objectclass in Poplog
V14.5, but it still needs quite a bit of work. Some students at
Birmingham have used it successfully, but it is not appropriate for very
high speed graphics.
Best wishes
Aaron
README file for the Birmingham Poplog ftp directory follows.
=======================================================================
README Last Changed 1st April 1995
Aaron Sloman, School of Computer Science,
The University of Birmingham
This file is
ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/README
This directory (ftp/pub/dist/poplog) contains several sub-directories
which provide local extensions to Poplog files which may be copied and
used elsewhere. Much of the material is teaching material used in
introductory AI courses at the University of Birmingham (in addition to
online teaching material distributed with Poplog.)
The teaching material includes "teach" files and "help" files in the
teach/ and help/ sub-directories, and also Pop-11 program libraires in
the the auto/ and lib/ sub-directories.
Please note that there is no guarantee that anything is bug-free.
Files at top level
primer.Z
Is a compressed version of a draft new introduction to
Pop-11 suitable for people who already know some programming
Also gives a lot of information about poplog. This is a plain
ascii text version suitable for online reading. Uncompressed
version is teach/primer
primer.ps.Z
Compressed postcript version of latex formatted version of
the Pop-11 primer. (May have some formatting oddities).
252 pages
primer_2page.ps.Z
This is a "reduced" version printing two pages side by side
in landscape mode. 126 pages
The postscript versions were updated 6th March 1995 to overcome
a formatting bug regarding "^" in previous versions.
A hard copy version of the Primer in the reduced format is available
for 4 pounds plus 1 pound (UK) or 2 pounds (non-UK) postage and
packing. Orders should be sent to
The Librarian, School of Computer Science,
The University of Birmingham, B15 2TT, England
Email: C.Cushway@cs.bham.ac.uk,
Phone: +44 121 414 3735 Fax: +44 121 414 4281
The directories are
actor/
See the file actor/README
This directory includes some files that replace the versions
of LIB ACTOR, LIB EVENT and LIB NEWQUEUE that were in Poplog
up to versoin 14.2. There's also a demo program.
This has been incorporated in Poplog with some minor changes
since Version 14.5. See HELP * ACTOR, HELP * NEWQUEUE
auto/
Autoloadable program files suitable for installation in
$poplocal/local/auto
Includes some "fixed" versions of Poplog autoloadable files
and various extensions, including ved_gn.p for reading
news vian NNTP in VED, ved_texify.p for converting Poplog
documentation to latex, and many more.
help/
Corresponding help files suitable for installation in
$poplocal/local/help
lib/
Non-autoloadable program files files suitable for installation
in $poplocal/local/lib
Includes some fixed versions of Poplog library files.
teach/
TEACH files for VED and Pop-11 suitable for installation in
$poplocal/local/teach. The following are among the teach files
available
teach/advent_objectclass
Shows how to use OBJECTCLASS to define an adventure game.
teach/gstart
An introduction to Pop-11 using lib rc_graphic
teach/netstart
An accelerated introduction to the use of the Pop-11
database package: how to use it to create simple
networks, and then write procedures that operate on
those networks.
teach/induce_rules.p
An introduction to rule induction programs
teach/popcore
Brief summary of Pop-11 constructs used by beginners
teach/popcore.tex
Latex version of the above
teach/tower
A new introduction to searching in Pop11
teach/searching
More advanced and general searching programs
(plus other teach files)
menu/
The code and documentation for the "recursive hypermenu system"
an extension to Pop-11 and VED which allows easily extendable
menus for controlling VED and Pop-11, and spawning Unix
processes etc. using asynchronous control panels. A tutorial
example is in menu/teach/menu_demo.p
For details see menu/help/ved_menu. (A slightly out of date
printable version of that file is menu/hyper.ps.Z)
Last updated 3rd March 1995
NB the set of autoloadable menus in menu/menus/*.p should be
regarded as a sample, rather than definitive. Some of the
examples will not work outside Birmingham as they need local
libraries (available on request.)
menutar.Z
A compressed tar file containing the contents of the menu/
and pui/ subdirectories.
prb/
Code and documentation for the POPRULEBASE system: a forward-
chaining condition-action rule interpeter, replacing LIB NEWPSYS,
with some unusual features described in these files:
prb/teach/poprulebase
prb/help/poprulebase
prb/help/prb_extra
prb/help/prb_filter
prbtar.Z
A compressed tar file containing the poprulebase package.
pui/
An extension of Poplog's pop_ui facilities, for creation of
popup menus, file browser, requests for text input, etc.
Used by the menu/ package. Included in menutar.Z
sim/
The sim_agent package for exploring agent architectures,
includes some installation files and several subdirectories
sim/auto
sim/doc
sim/help
sim/lib
sim/ref
sim/teach
sim/test
simtar.Z
A compressed tar file containing the package, including some
postscript documentation in the sim/doc directory.
The prb package is needed to run sim.
ved_latex/
Some extensions to VED making it convenient for use with
latex and xdvi. The documentation file is
ved_latex/ved_latex
tmac/
Some nroff macro definition files as described in help/rno and
help/rno.extra and used in auto/ved_rno.p and auto/ved_rnoprint.p
Can be used to provide elementary formatting on unix machines
in VED. You may wish to change the ved commands to use a
different set of nroff/troff macros
nntpstuff/
Some C programs for accessing a News Server via NNTP
Superseded by auto/ved_gn.p
pop_ui/ (to be withdrawn)
Moved to old/pop_ui
Superseded by /pui
Some pop-up menu and control panel facilities based on a
modified version of Propsheet. Currently works only under
OpenLook.
--- ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/README
--- The University of Birmingham 1994. --------------------------------
|