2008. 3. 27.

연습문제 1.41

double은 다음과 같이 정의된다.

(define (double f)
  (lambda (x) (f (f x))))
(double double)은 이전에 double을 두번더 반복하므로 총 4번의 double이 생긴다.
이제 (double (double double))은 총 4번의 double을 다시 한번 더 반복하므로 8번의 double이 생긴다.
마지막으로 inc를 다시 반복하므로 총 16번의 double이 생긴다.

> (((double (double double)) inc) 5)
21
/>


댓글 없음:

댓글 쓰기