Allegro CL,调试功能一步一步

问题描述:

我想了解一个函数如何在Lisp中工作,我很早以前就用过Allegro Cl,我记得它在REPL中有一个特殊的功能,可以让你看到如何函数一步一步地工作,就像在Matlab中一样。例如,如果你有这样的功能:Allegro CL,调试功能一步一步

(+ 1 
    (* 2 3 
     (/ 6 2) 
    ) 
) 

你可以看到每一个功能一步一步,如:

(+ 1 
    (* 2 3 
     3) 
) 

然后:

(+ 1 
    18) 

最后:

19 

非常感谢提前。

+0

标准具有['STEP'](http://www.lispworks.com/documentation/HyperSpec/Body/m_step.htm)。 – jkiiski

+0

谢谢,这确实有效。 –

由于jkiiski,

的代码为表示一步一步的功能将是:

(step (+ 1 (* 2 3 (/ 6 2)))) 

,这表明在非常详细的Lisp如何分析所有的数据,并评估功能。

经过许多步骤它给出:

[STEP] CG-USER(2): 
    result 6: 2 
    6: (/ 6 2) 
[STEP] CG-USER(2): 
    result 5: 18 
    result 4: 18 
    result 3: 18 
result 2: 18 
2: (+ 1 18) 
[STEP] CG-USER(2): 
result 2: 19 
result 1: 19