Printing 如何打印符号定义而不在Scheme中求值?
如果我想打印符号的函数定义,我应该怎么做?如果我理解正确,您需要一个函数Printing 如何打印符号定义而不在Scheme中求值?,printing,scheme,symbols,Printing,Scheme,Symbols,如果我想打印符号的函数定义,我应该怎么做?如果我理解正确,您需要一个函数打印函数,以便 (define (foo x) (cons x x)) 它将表现为 > (print-function foo) (lambda (x) (cons x x)) 标准方案没有这方面的设施。原因是方案实现可能,而且通常会将函数编译成不同的表示形式(字节码、机器码) 有些方案可能会保留函数定义;检查您的实现手册。2.0之前的Guile版本有程序源代码。然而,自从Guile 2.0以来,我再也没有设法让过
打印函数
,以便
(define (foo x) (cons x x))
它将表现为
> (print-function foo)
(lambda (x) (cons x x))
标准方案没有这方面的设施。原因是方案实现可能,而且通常会将函数编译成不同的表示形式(字节码、机器码)
有些方案可能会保留函数定义;检查您的实现手册。2.0之前的Guile版本有
程序源代码
。然而,自从Guile 2.0以来,我再也没有设法让过程源代码
工作了。但是,是的,它非常特定于实现,而且大多数实现都不提供任何这样的东西。我正在使用Gambit-C。你知道实现中的这一点吗?抱歉,没有Gambit的经验。Guile 1.9.11之后就有了关于过程源代码的开放。