1

PLAIの第9 章「再帰を理解する」の冒頭に、階乗の例があります。


(with (fac (fun (n)
                (if0 n 
                     1
                     (* n (fac (+ n -1))))))

90 ページで、著者は次のように述べています。このエラーが発生することを確認してください。エラーを完全に理解することは、このセクションの残りの部分を理解する上で不可欠です。」
しかし、手順を完全に書き留めることができるかどうかはわかりません。誰かが手順を書き留めるのを手伝ってくれませんか? よろしくお願いします!

4

2 に答える 2

2

通訳者に手順を印刷してもらいます。

(define (interp expr env)
  (displayln (list 'expr expr 'env env))
  (type-case CFAE/L expr
于 2012-08-18T09:25:37.447 に答える
0

第10章のコードを読んで実行した後、上記のプログラムの中間ステップを独立して実行しました。


(interp  (if0 (id 'n) (num 1) (mult (id 'n) (app (id 'fac) (sub (id 'n) (num 1)))))
           (aSub 'n
                 (numV 2)
                 (closureV-env (lookup 'fac new-env))))

手書きで手順が書ける!みんなありがとう!

于 2012-08-19T04:22:12.307 に答える