在SBCL中使用步进器的一个简单例子

使用LispWorks步进器进行计算相当直观,但我无法在SBCL中找到它。有人请给我一个关于如何在REPL中使用SBCL步进器的一些简单功能的分步示例?谢谢。在SBCL中使用步进器的一个简单例子

回答:

* (proclaim '(optimize (debug 3))) 

* (defun foo (a b) (* (+ a b) b))

FOO

* (step (foo 1 2))

; Evaluating call:

; (FOO 1 2)

; With arguments:

; 1

; 2

1] step

; Evaluating call:

; (+ A B)

; With unknown arguments

0] step

; Evaluating call:

; (* (+ A B) B)

; With unknown arguments

0] step

; (FOO 1 2) => 6

命令:

Stepping: 

START Selects the CONTINUE restart if one exists and starts

single-stepping. Single stepping affects only code

compiled with under high DEBUG optimization quality.

See User Manual for details.

STEP Steps into the current form.

NEXT Steps over the current form.

OUT Stops stepping temporarily, but resumes it when the topmost

frame that was stepped into returns.

STOP Stops single-stepping.

参见SBCL手册:single stepping。

以上是 在SBCL中使用步进器的一个简单例子 的全部内容, 来源链接: utcz.com/qa/261412.html

回到顶部