This section briefly introduces each of the major aspects of Quintus ProXL through an interactive session. Starting from a primitive version, we will add features until the session covers the breadth of Quintus ProXL.

This session shows how ProXL programs can be developed interactively using Quintus Prolog. This is one of the great advantages of ProXL over most other approaches to X Window system application development. We encourage you to bring up a ProXL system and actually type in the following session.

In pxl-tut-hello we present a ProXL program whose results are the same as the interactive session. This session and program are not themselves useful, but they should give you enough of an idea of how ProXL works so that you can begin to write your own programs.

In order to understand the session, we assume that you know how to use Quintus Prolog and your X window manager and, in order to run the session and program, we assume that you have already installed both the X window system and Quintus ProXL.

ProXL refers to an object by means of a handle. An example of a handle is, window(1787368). The functor window/1 denotes the type of the object and the integer 1787368 is a unique identifier for the particular object. Your ProXL program should not depend upon the form of either the type or the identifier. Rather it should simply treat the handle as an opaque Prolog term (just like a Prolog stream or database reference). The unique object identifiers generated by ProXL will change from session to session, therefore, when you run your session the object identifiers returned by ProXL may be different than the ones printed here.