Summary of commands
===================

In predicates list:
Single-click left mouse-button on a predicate: selects the predicate and
     view  its properties. 

Show source button: view selected predicate source

Summary of function
===================

This tool allows the examination and modification of the properties of
predicates that currently exist in ECLiPSe.

Layout
======

This tool consists of:

Predicates box: shows the type of predicate that are listed in the
   predicates list.

in module: box: shows the module of the predicates that are listed in the
   predicates list.

Predicates list: list the predicates of the type given in predicates box and
   in the module of the in module box.

Filter Aux. button: specifies if auxilary predicates should be filtered out
   from the Predicates list or not.

Properties of Predicate window: gives the properties of the predicate
   selected from the predicates list.


Functionality
=============

Predicates box
--------------

This selects the type of predicates that will be displayed in the
predicates list. The types are:

   defined:  predicates that are defined in the module.
   exported: predicates that are exported from the module.
   imported: predicates that are imported into the module.
   local:    predicates that have been declared as local to the module.
   global:   predicates that have been declared global in the module.
   visible:  all predicates that are visible from the module.

The type can be changed from the pop-down list in the arrow at the right of
the box.

Searching for a matching predicate can be done by typing in the window. A
window will popup to show the string being searched. The first predicate
matching the search string will be underlined. Type `escape' or move mouse
out of window to stop search; type Control-S to search for next occurrence
(search starting from underlined predicate). Note that `*' will match any
sequence of zero or more characters, and `?' will match any character
during the search. 
 
In module: box
--------------

This box selects the module for which predicates are to be listed in the
predicates list. The module can be changed from the pop-down list in the
arrow at the right of the box.

Predicates list
---------------

The list of predicates of the type specified in predicates box and in the
module specified in the in module box. Single left-click on one of the
predicate to view its properties in the Properties window.

Filter Aux. button
------------------

If this check button is on (the default), then auxiliary predicates
(predicates generated by the compiler, such as for the do-loops) are not
displayed in the Predicates list.
 
Properties window
-----------------

Displays the properties of the selected predicate. The name of the
predicate, and its mode information, if available, is shown in box at the
top of the window. The modes are:

   + argument is an input argument (must be non-variable when called)
   - argument is an output argument (must be a variable when called)
   ? argument need not be input or output, or the mode is unknown.

The mode information is only available if it has been given in a mode
declaration. Otherwise all arguments are assumed to have mode ?.

If the predicate is defined as an operator, then it is shown in the syntax
declared for it in its op/3 declarations (i.e. in infix, prefix or postfix
notation). 

The window contains a list of predicate properties along with their current
state for the selected predicate. These properties can be obtained via the
get_flag/3 predicate. See the manual for more details. Properties which
cannot be be altered by the user has its state buttons grayed out, and the
user cannot change these settings. The other settings can be changed by
clicking on the appropriate check button. 

Show source button: clicking on this button will cause ECLiPSe to try to
display the source of the predicate. If it is able to display the source,
this will be shown in the tracer's source context display.
Close button: closes this window.

