혼동하기 쉬운 웹 개발 개념


SICP

연습 문제 1.5
(define (p) (p))

(define (test x y)
(if (= x 0)
0
y))

(test o (p))

(sol)
인자 먼저 계산 실행기를 사용한 경우 인자에 p를 넣어주는 과정에서 p는 계속해서 프로시져 p를 반환하기 때문에 런타임 에러가 발생하거나 빠져나오지 못하는 구조가 될 것이다.
정의한 대로 계산, 즉 인자를 꼭 필요한 경우에만 대입하는 계산기는 먼저 연산하게 되는 if 조건문에서 (= x 0) 엮은 식에 x = 0을 대입하게 되므로 참이되어 자동으로 0을 반환하고 끝날 것이다.




© 2017. by yunsu

Powered by dolphin