Allegro CL,调试功能一步一步
问题描述:
我想了解一个函数如何在Lisp中工作,我很早以前就用过Allegro Cl,我记得它在REPL中有一个特殊的功能,可以让你看到如何函数一步一步地工作,就像在Matlab中一样。例如,如果你有这样的功能:Allegro CL,调试功能一步一步
(+ 1
(* 2 3
(/ 6 2)
)
)
你可以看到每一个功能一步一步,如:
(+ 1
(* 2 3
3)
)
然后:
(+ 1
18)
最后:
19
非常感谢提前。
答
由于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
标准具有['STEP'](http://www.lispworks.com/documentation/HyperSpec/Body/m_step.htm)。 – jkiiski
谢谢,这确实有效。 –