Screenshots

Click either screenshot for a full-scale view.

These screenshots represent two halves of the trace of a simple object-oriented program. The program uses simple geometry classes to construct a polygon of three points, then translate the entire polygon 5 units along each axis.

The trace output shows the structure of the computation. On the left, we see each vertex added to the polygon. The trace begins with construction of the polygon. After that, the trace shows the construction of three points alternating with calls to add-vertex to put the points in the polygon.

The second half of the trace, on the right, shows the execution of the polygon's translate method. This method calls translate on each point, constructing and initializing a new point based on the original. The iterative nature of the for-each loop appears in the image.

Filter Window Screenshots

Click the screenshots for a full-scale view.

These screenshots represent the process of filtering out the Point% class from the trace. After clicking the Filter button, we see a window like the ones on the left. We leave Polygon% set to auto, which defaults to on when there is no parent class, then select Point% and set it to off.

When we click Done the trace updates, leaving out all actions solely between Point% objects. The picture on the right shows this reduced trace.