【发布时间】:2011-06-13 09:31:03
【问题描述】:
如果我想打印符号的函数定义,我应该怎么做?
【问题讨论】:
如果我想打印符号的函数定义,我应该怎么做?
【问题讨论】:
如果我理解正确,你想要一个函数print-function,这样之后
(define (foo x) (cons x x))
它将表现为
> (print-function foo)
(lambda (x) (cons x x))
标准方案没有这样的功能。原因是 Scheme 实现可以并且通常确实将函数编译为不同的表示形式(字节码、机器码)。
一些方案可能会保留函数定义;检查您的实施手册。
【讨论】:
procedure-source。然而,自从 Guile 2.0 以来,我再也没有设法让procedure-source 工作了。但是,是的,它是非常特定于实现的,并且大多数实现不提供任何这样的东西。
procedure-source 的 a bug 已打开。