如何在Scheme中不进行评估的情况下打印符号的定义?

时间:2011-06-13 09:31:04

标签: printing scheme symbols

如果我想打印符号的功能定义,我该怎么办?

1 个答案:

答案 0 :(得分:5)

如果我理解正确,你需要一个函数print-function,以便在

之后
(define (foo x) (cons x x))

它将表现为

> (print-function foo)
(lambda (x) (cons x x))

标准计划没有这方面的便利。原因是Scheme实现可以并且通常将函数编译成不同的表示(字节码,机器代码)。

某些方案可能会保留函数定义;检查实施手册。