page 1  (18 pages)
2to next section

The Transparent Prolog Machine (TPM) provides a vehicle for visualising the execution of Prolog programs in a manner which is faithful to the underlying behaviour of the Prolog interpreter. Although this fidelity is useful for teaching and debugging purposes, it can be inappropriate when a programmer wishes to view a program at a 'higher level', i.e. in terms of data or procedure abstractions which are not necessarily close to the underlying behaviour of the interpreter. We show how TPM can be extended to deal with the 'collection' abstraction inherent in higher-order predicates such as setof. In addition we discuss ways of allowing the user to customise the trace to produce the correct procedural abstraction for the task at hand.