print($hdr); ?>

An enhanced trace tool for Prolog

Christo Dichev, Benedict du Boulay

This paper represents the latest version of a Prolog tracer designed mainly for Prolog novices using terminals without graphics. It is an extension of our earlier work on a tracing system emphasising data manipulation. We further develop the initial idea of enhancing the tracer's output in order to show crucial details related to program execution. The approach here is to provide a tracer with facilities enabling separate fragments (aspects) of program execution to be displayed in different ways under user control. The advantages of such a system are that a programmer is not restricted to the framework of one particular model. The programmer can either tailor his or her personal view of program execution or select one of the traditional "stories" from those available. The design principles of the tracer are discussed in a context of existing tools for Prolog beginners. The main features of the tracer are illustrated with number of worked examples. The current implementation is written in Prolog.