141 words
1 minute
scheme-debug
2026-04-28

Some information may be outdated

use (trace)#

  1. 使用的是mit-scheme 12.1,在REPL中输入(trace your-procedure-name),再直接调用(your-procedure arg1 arg2 ...)

use (display)#

  • 直接在procedure中打印要观察的变量:
(define (procedure-name arg1)
(display "Testing: ")
(display arg1)
(newline)
...
)

REPL中运行procedure可以很清楚的看到变量的变化。

use (pp)#

  • 可以查看一个一般过程是什么样的。
1. 定义一个过程
(define (double x)
(lambda (x)
(f (f x))))
2. 查看(double)过程:
1 ]=> (pp double)
(named-lambda (double f)
(lambda (x)
(f (f x))))
;Unspecified return value
3. 查看(double x)过程:
1 ]=> (pp (double square))
(lambda (x)
(f (f x)))
;Unspecified return value
scheme-debug
https://infini.cv/posts/scheme/scheme-debug/
Author
infini
Published at
2026-04-28
License
CC BY-SA 4.0