From: Aaron Sloman: see text for reply address
Subject: New release of RCLIB (GUI tools for Pop-11 etc.)
Date: 
Message-ID: <5k5umc$2eq@percy.cs.bham.ac.uk>
[Posted via usenet. I apologise for the bogus email address above, to
defeat bulk email advertisers. My reply address is at the end.
Apologies to anyone who gets this twice. My first attempt to post seems
to have failed.]

                                  RCLIB

New graphical interface tools for Poplog are now available from the
University of Birmingham Poplog ftp directory

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

Background: The Poplog AI development system, produced at Sussex
University and Integral Solutions Ltd, provides incremental compilers
for Pop-11, Prolog, Common Lisp and Standard ML, along with a lot of
online documentation, AI teaching materials, integrated editor,
demonstration and utility programs (all in source code) etc. For more
information see

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

and other files in the directory

For some time Poplog has provided mechanisms for linking in Motif or
OpenLook widgets, and also its own graphical facilities, including the
easily usable RC_GRAPHIC (relative coordinates graphic) library, and
the Pop-11 Propsheet library providing menus, sliders, etc., in Motif
or OpenLook format.

These are all available in Pop-11 and through Pop-11 become accessible
to the other languages available in Poplog.

I have been developing RCLIB a new collection of graphical interface
facilities implemented on top of the RC_GRAPHIC library, to replicate
many of the facilities available in other widget sets, but in a more
general and flexible format, since RCLIB procedures are implemented in a
general purpose graphical library with Pop-11 source code available to
users, and an object oriented programming style which allows new
subclasses and new methods to be developed very easily in the
interactive development environment provided by the Poplog incremental
compiler. (Almost as flexible as an interpreter, but the code runs much
faster.)

The new package, RCLIB, is freely available to anyone who has
Poplog version 15.0 or later. It can be fetched from the Poplog ftp
directory in this compressed tar file

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

The code and documentation can be browsed online in the directory

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

Overview
--------
RCLIB supports creation of windows, moving them hiding or showing them,
adding pictures that can be moved under mouse or program control,
text fields, buttons of various kinds (e.g action buttons, buttons
to toggle a boolean variable, buttons to increment or decrement a
numerical variable), popup menus with a text field and a row of
answer buttons to choose from, etc.

Event types supported are mouse button up or down, drag, move, leave
or enter window, use of keyboard, use of modifier keys with mouse
buttons. (Other types can be added).

One of the demos illustrating much of that shows how to create a
painting easel, with a collection of coloured paint pots on one side, a
collection of brushes, to use along the top, etc.

Movable objects can have their movement constrained by functions you
define, so you can make a "slider", but it can be constrained to move
diagonally, or on a circle, etc. not just horizontally or vertically.

Anyone who doesn't like the collection of default styles should find
it easy to copy and edit the code to make buttons look different.

Objectclass makes it very easy to produce new sub-classes which
override the defaults, so everything is designed to be very
tailorable.

The program detects whether you are using a terminal like Suns
(where white = 0 and black = 1) or like DEC alphas (where it's the
other way round and also PCs running X I think) and automatically
decides whether to use xor or equiv for moving pictures (actually
it's a lot more complicated than that.)

Some of the online documentation is in these files:

help/rc_buttons
    shows examples of all the button types and popup menus
    and messages

help/rclib
    gives an overview of the facilities

teach/ rc_linepic
    gives lots of tutorial examples, including moving pictures,
    draggable objects, etc.

help/rc_app_mouse
    describes a generalisation of rc_mouse_draw, for applying a
    procedure every time you click in a graphical window

help/rc_mouse_coords
    describes an application of rc_app_mouse to pick up coordinates in a
    graphical window

help/rclib_news
    describes changes and additions in reverse chronological order
    (May not be complete!)

All the Pop-11 source code is in the rclib/lib/ and rclib/auto/
subdirectories.

Comments, bug reports, bug fixes and extensions to the library
gratefully received by ········@cs.bham.ac.uk

I am happy to add new demonstrations or extensions to the rclib/demo/
subdirectory, provided that they are documented and made available
without any distribution or copying restrictions. New general purpose
GUI extensions could be added to the main rclib libraries. Offers
welcome.

It should be possible to produce nice interfaces for Prolog or Lisp or
ML users, but I have not tried.

Manipulation of images is not directly supported but there is an
excellent "popvision" package developed by David Young at Sussex
University, available from the Sussex Poplog directory:

    ftp://ftp.cogs.susx.ac.uk/pub/poplog/

That directory also provides a free version of Poplog for Linux, but not
the newest Linux (ELF). A new version of Linux Poplog will be available
from the Poplog distributors, Integral Solutions Ltd who provide massive
discounts for educational users.

    http://www.isl.co.uk/

Poplog also runs and is commercially supported on a variety of
commercial Unix systems (Sun, Digital, HP, SGI) and on VMS.

I have tested the new graphical tools ONLY on Suns (Solaris and SunOS)
and on Digital Unix Alpha stations, including Sun compute servers
accessed via NCD Xterminals. I have no reason to believe it will not
work in the other evironments (most Poplog facilities are portable
across supported platforms).

There is a Windows NT version of Poplog but without graphics and I don't
know if it is available for sale. Contact ISL for more information.
    Email:  ···@isl.co.uk
    Tel. +44 1256 55899
    Fax. +44 1256 63467

(Although I was once part of the Poplog development team at Sussex I now
have no links with them apart from being an appreciative user.)

NOTE: my main reason for developing the new graphical interface tools
(apart from using them for teaching) is to make them available in the
SIM_AGENT toolkit, also freely available in the Birmingham University
Poplog ftp directory. For an overview of SIM_AGENT see

    http://www.cs.bham.ac.uk/~axs/cog_affect/sim_agent.html

NOTE for Emacs users who do not wish to use the Poplog editor VED:

An Emacs package for interacting with poplog, developed by Richard
Caley, Brian Logan and others, is available in the directory

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

There is a directory emacs/ and a compressed tar file emacs.tar.gz

[Note: people on the pop-forum email list will get this via the news to
mail gateway. Apologies for any confusions due to altered From: line.]

Aaron
=====
Note: "Poplog" is a trade mark of the University of Sussex.
-- 
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs )
School of Computer Science, The University of Birmingham, B15 2TT, England
EMAIL A. Sloman @ cs. bham.ac.in uk(||| MAKE BULK EMAIL ADVERTS ILLEGAL |||)
Phone: +44-121-414-4775 (Sec 3711)       Fax:   +44-121-414-4281