按照普通的想法来说,得出的结果应该是8+5,但是最后得到了16+5
是这个样子的,(double double)相当于(four) (double(double double))相当于(four four)相当于把four应用4遍,于是就是16次了。
参考链接:
(define (double f)
(lambda (x) (f (f x)))
)
(define (inc n)
(+ n 1))
(newline)
(display ((double inc) 1))
(newline)
(display (((double (double double)) inc) 5))