题
我所限定的计划程序与2个参数返回另一个过程:
(define (smooth f)
(λ(x dx)(/ (+ (f (- x dx))
(f x)
(f (+ x dx)))
3.0)))
如果我以2个参数10和0.0001运行与罪过程该过程然后它是确定
((smooth sin) 10 0.0001) ==> -0.544021109075966
如果我递归运行此过程,那么它有误差
((smooth (smooth sin)) 10 0.0001)
==> procedure expects 2 arguments, given 1: #<promise:temp6>
因此,谁能告诉我哪里是我的问题吗? 谢谢你在前进!
PS:这是分开练习1.44的在SICP
解决方案
这很简单,(smooth sin)
的结果是成为在F在外部SMOOTH 2参数的程序,和F被施加到仅仅一个值。
的解决方案是使结果平滑的1参数过程代替,那么就可以反复使用它。
不隶属于 StackOverflow