快板 CL,逐步调试功能



我试图理解一个函数在Lisp中是如何工作的,我很久以前用过Allegro Cl,我记得它在REPL中有一个特殊的函数,让你看到一个函数是如何一步一步地工作的,就像在Matlab中一样。例如,如果您有此函数:

(+ 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

最新更新