This document is temporarily available at

Comments on poplog graphical facilities
And some examples in 32 bit and incomplete new 64 bit Poplog Aaron Sloman
4 Jul 2019


Poplog was originally developed at Sussex university, and core development continued there after ISL took over commercial distribution and support, along with some development work, which eventually led to the commercially very successful Clementine data-mining package. Some information about ISL is here:
Information about Clementine and a sample interface is available at:

In the late 1980s unix systems provided two "standard" graphical look-and-feel packages, Motif, and OpenWindows/OpenLook (originally used by Sun Microsystems on their workstations). Poplog was extended to provide interfaces to both of them with source code in
   $usepop/pop/x/Xpm (for Motif)
   $usepop/pop/x/Xpw (for OpenWindows/OpenLook). Those graphical tools were used in the outstandingly successful Clementine Data Mining toolkit developed by ISL, now part of IBM's business softare (Modeller?). (There is also a new completely different Data Mining Clementine from Bangladesh

When a version of linux poplog is built it is necessary to specify which of these libraries should be used, or neither. If one of those libraries is used, the Pop11 XVed library uses menu buttons and scrollbar built on those packages, as shown in the image below.

If neither library is available, a "vanilla" version of XVed is built which uses only standard linux X terminal facilities providing a less fancy X interface based on the X Toolkit (Xt libraries), plus a collection of poplog procedures for invoking those facilities.

For some time the OpenWindows (= OpenLook??) package has been almost defunct, as explained here: (although there seem to be some sources available on the internet). So the current options in poplog are to use Motif or simply build graphical interfaces on the basic X-Window libraries on which both OpenWindows and Motif depend.

To support development of graphical interfaces, Sussex University and ISL put a lot of effort into producing Poplog interface tools that could be used with OpenWindows or Motif, for compatibility with other graphics-based packages available on unix workstations. These are still part of the Poplog source tree, as indicated above, although, as far as I know, only Motif is now supported on Linux.

XVED with and without Motif.

This shows the four default menu buttons (File, Edit, View, Compile), and the special scrollbar (on the right), in XVed in Version 15.65 32-bit Poplog using Motif, available via, running on Fedora 28:


When motif is available in poplog, the XVed command produces windows of the kind depicted above (though font and size, and whether the scroll-bar is on right or left, can be specified by the user). This makes use of the linux motif library, which is not yet accessible in the latest (draft) 64bit poplog [4 Jul 2019]. It may become accessible later.

In particular the four "standard" buttons (labelled: file, edit, view, compile) each of which provides a number of actions as sub-options, build on the linux Motif package. Further the scroll-bar is not the standard Xterm scrollbar, which merely allows previous terminal output to be shown. Instead it scrolls up and down the text file currently displayed in the editor, Ved.

XVed can be used in Linux poplog without the Motif or OpenWindows/OpenLook toolkits, in which case the XVed windows will not have the four menu buttons and will not have the scrollbar. There are other differences, e.g. lack of Pop11 commands to change font size.

Some users at Birmingham found the Motif and OW/OL toolkits too restrictive, and only C-programming could be used to change them. So we added a collection of tools written in Pop11 that built upwards from the basic XWindow facilities in Poplog -- on which both the Motif and OpenWindows libraries depend. These tools were built on the pre-existing RC_GRAPHIC library, which provided windows into which images based on lines, circles, polygons, etc. could be drawn and in which text and imported images could also be displayed.

The library also allowed regions of the window to be sensitive to mouse and keyboard actions, in ways that depend on the location of the mouse pointer in the window, including allowing graphical structures to be layered, in which case the top layer will handle actions if it can, otherwise allowing a lower layer to do so.

This allows development of a flexible, user-programmable graphical toolkit, where all programming is done in Pop-11, not C. The loss of conformity to the "look and feel" of motif was felt as a small price to pay for the added ease of use and power.

Some examples of those "home-grown" graphical facilities are are shown below, though there are more in poplog libraries and teaching files. (Links will be added later.)

The RCMENUS library works on new the new (July 2019) 64-bit Poplog without Motif

The next image shows a small subset of the options provided in the pop11 RCMENUS package running on a preview of the new 64-bit poplog.

Everything is based on Pop-11 graphics, built on the basic linux X Window System toolkit,, and does not require Motif or any other "standard" graphical interface to be imported into Poplog. The result is far greater flexibility since almost anything implemented in Pop-11 can be altered significantly at run time. But it starts from a lower level than the Xpm library.

In particular, because this is a pop11 package, and pop11 allows incremental run-time compilation, portions of the package can be edited and re-compiled at run time, to provide new options while the system is in use. So it was not necessary for the rcmenus package to be designed to support every possible reasonable requirement: users can modify the pop11 source at run time while developing and testing interfaces. This is much faster than modifying a C library, compiling and then re-building Poplog to use it.

The menu panels shown below on the right can be invoked either as ved "ENTER" commands, or by user programs invoking the libraries. Their size is not limited by spare space in the XVed window, and they can be moved around on the screen independently, with screen locations controlled either by mouse or by program, or both. A pop11 programmer can add a new option to a menu at run time or create an entirely new menu, built on the RCMENU facilities, built on the Pop11 RCGRAPHIC library.

The new options can run arbitrary poplog code (e.g. pop11, prolog, lisp or ml), including code creating more menus.

XVed without Motif, using RCMENU facilities

The menu panel labelled "Toplevel" was created by giving the Ved "ENTER menu" command. The others were invoked by clicking on buttons. The menus are not displayed in a fixed tree structure corresponding to how they were invoked, as they are all in separate windows that can be moved using the mouse. Some of the menu options shown invoke documentation files (e.g. the "Help Mark" and "Teach Mark" buttons on the right). A later version of this document may show a much greater variety of options.

More on the The menus on the right, below, do not have fixed locations, and have been moved since they were created as shown above. The menus can trigger anything that Pop-11 can do, including invoking a documentation file, like the text file that has been brought into the top level editor window, shown below. New editor windows can be created as needed and allow different tasks to be in different editor windows (Ved windows).


This is just a tiny sample.

More examples

For more examples of pop11 graphics based on rclib, some in conjunction with the SimAgent toolkit, see