2009-06-09 16 views
1

SICPの内部定義に関するセクション4.1.6の内容を理解する上で助けが必要です。sicpセクション4.1.6

相互再帰関数が定義されているときに発生する問題を理解しています。

(lambda <vars > 
    (let ((u ’*unassigned*) 
     (v ’*unassigned*)) 
    (set! u <e1 >) 
    (set! v <e2 >) 
    <e3 >)) 

誰かが私をここに助けることができる:しかし、私はそれがに次のラムダ式

(lambda <vars > 
    (define u <e1 >) 
    (define v <e2 >) 
    <e3 >) 

を変換することによって解決される方法を理解しませんか?ありがとう。 vが定義されていない(しないまだが、ない部分は重要なものである) -

答えて

3

<e1>試行が最初のフォームでvを参照する場合、それは失敗します。しかし、第二の形式で、vあなたは<e1>に着く時間によってを定義している(まだが割り当てられていないが - それは大丈夫です - !)。

関連する問題