2011-06-13 16 views

回答

5

如果我理解正確的話,你想print-function這樣的功能,經過

(define (foo x) (cons x x)) 

它會表現爲

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

標準方案沒有該設施。原因是Scheme實現可能並且通常會將函數編譯成不同的表示形式(字節碼,機器碼)。

某些方案可能會保留函數定義;檢查你的實施手冊。

+0

2.0之前的Guile版本有'procedure-source'。但是,由於Guile 2.0,我從來沒有設法讓'procedure-source'繼續工作。但是,這是非常具體的實現,大多數實現不提供任何這樣的事情。 – 2011-06-13 11:12:35

+0

我正在使用Gambit-C。你知道這個實現嗎? – Eonil 2011-06-13 11:17:54

+0

沒有經驗與開局,對不起。 – 2011-06-13 11:31:36