prolog trace how to use

prolog, trace

Solution

Looking at your goal, you used the built-in `length/2`, not your own `length1/2`. Built-ins usually can't be traced.

Problem

How to go second step when trace prolog program? For example, I want to trace following simple program: ``` length1([],0). length1([_X|Xs],N):- length1(Xs,N1), N is N1+1. ``` I trace program: ``` ?- trace,length([1,2,3],N). Call: (7) length([1, 2, 3], _G231) ? Exit: (7) length([1, 2, 3], 3) ? creep N = 3. ``` But as we see, it immediately gives answer. But I thought it should be like `Call:(8) ... Call:(9) ...` What am I doing wrong?

Original source