이 문제는 환경 계산법(The Environment Model of Evaluation)으로

1.2.1절에서 맞바꿈 계산법(Substitution Model)을 이용하여 파헤친 것과

다르게 바라보는 문제입니다.

 

예제 역시 (factorial 6)으로 동일합니다.

 

먼저 재귀(recursive)로 만든 프로시저입니다.

01

02

(그림을 클릭하시면 본 크기의 그림을 볼 수 있습니다.)

새롭게 환경이 계속 만들어지면서 진행이 되는군요.^^

 

 

다음으로 반복(iterative) 프로시저입니다.

03

04

반복은 족금 더 복잡합니다.

 

먼저 factorial 프로시저를 수행한 후에 fact-iter 프로시저를 수행합니다.

그리고 해당 프로시저는 총 7번을 수행합니다.

 

맞바꿈 계산법으로 살펴본 것과는 다릅니다.

c12

c13

(SICP 43, 44쪽)

 

특히 반복은 늘어나지 않았지만, 환경 계산법에서는 그 환경이 계속 늘어났습니다.

왜냐하면 그만큼 fact-iter 프로시저를 호출하였기 때문입니다.

 

이에 대해 5.4절에서 다시 살펴본다고 하는군요.

5.4절이라... 언제 볼 수 있을런지...~_~

 

 

참조

해럴드 애빌슨, 김재우 역, <컴퓨터 프로그램의 구조와 해석>, 인사이트, 2007, pp. 317

크리에이티브 커먼즈 라이센스
Creative Commons License

글에 잘못된 점, 다른 점, 부족한 점이 있다면 지적해주세요.
댓글, 트랙백, 메일 모두 고맙습니다.

트랙백 주소 :: http://nosyu.pe.kr/trackback/1434

댓글을 달아 주세요

[로그인][오픈아이디란?]