2つのパラメーターを持つ別のプロシージャを返すようにSchemeプロシージャを定義しました。
(define (smooth f)
(λ(x dx)(/ (+ (f (- x dx))
(f x)
(f (+ x dx)))
3.0)))
2つの引数10と0.0001を使用してsinプロシージャを使用してこのプロシージャを実行すると、問題ありません。
((smooth sin) 10 0.0001) ==> -0.544021109075966
この手順を再帰的に実行すると、エラーが発生します
((smooth (smooth sin)) 10 0.0001)
==> procedure expects 2 arguments, given 1: #<promise:temp6>
それで、誰かが私の問題がどこにあるか教えてもらえますか?前もって感謝します !!!
PS:これはSICPの演習1.44の一部です