이 문제는 프로시저를 실행시켰을 때 결과와 이유를 묻습니다.

프로시저 f는 인자로 받은 프로시저에 인자 2를 주어 실행시킵니다.
따라서 위의 두 식은 인자로 들어온 프로시저가 잘 실행이 됩니다.
하지만 (f f)의 경우 에러가 발생합니다.
그 이유는 '(f f) -> (f 2) -> (2 2)'가 되기 때문입니다.
이 문제는 다른 연습문제에 비해 난이도가 낮아
함정이나 다른 생각할거리가 있나 고민하였습니다.
하지만 다른 사람들의 글을 보니 그런 것은 없는 듯싶네요.
다만, lambda로 적혀진 프로시저도 인자로 쓸 수 있는 것을 보여주는 듯싶습니다.
참조
Structure and Interpretation of Computer Programs 2/E - Page 85
"in OCW" 카테고리의 다른 글
- SICP Exercise 연습문제 1.37 (4)2008/01/24
- SICP Exercise 연습문제 1.36 (0)2008/01/23
- SICP Exercise 연습문제 1.35 (0)2008/01/23
- SICP Exercise 연습문제 1.34 (0)2008/01/23
- SICP Exercise 연습문제 1.33 (0)2008/01/21
- SICP Exercise 연습문제 1.32 (0)2008/01/21
- SICP Exercise 연습문제 1.31 (0)2008/01/21
글에 잘못된 점, 다른 점, 부족한 점이 있다면 지적해주세요.
댓글, 트랙백, 메일 모두 고맙습니다.







댓글을 달아 주세요