8
如果我想打印符號的函數定義,我該怎麼辦?如何在Scheme中打印符號的定義而不進行評估?
如果我想打印符號的函數定義,我該怎麼辦?如何在Scheme中打印符號的定義而不進行評估?
如果我理解正確的話,你想print-function
這樣的功能,經過
(define (foo x) (cons x x))
它會表現爲
> (print-function foo)
(lambda (x) (cons x x))
標準方案沒有該設施。原因是Scheme實現可能並且通常會將函數編譯成不同的表示形式(字節碼,機器碼)。
某些方案可能會保留函數定義;檢查你的實施手冊。
2.0之前的Guile版本有'procedure-source'。但是,由於Guile 2.0,我從來沒有設法讓'procedure-source'繼續工作。但是,這是非常具體的實現,大多數實現不提供任何這樣的事情。 – 2011-06-13 11:12:35
我正在使用Gambit-C。你知道這個實現嗎? – Eonil 2011-06-13 11:17:54
沒有經驗與開局,對不起。 – 2011-06-13 11:31:36