『컴퓨터 프로그램의 구조와 해석』의 정오표입니다.
원서인 『Structure and Interpretation of Computer Programs』의 정오표는 여기입니다.
오탈자는 저희 메일(insight@insightbook.co.kr)로 내용을 보내주시면 역자의 확인을 거쳐 즉시 반영토록 하겠습니다.
(define ((fib n)
(define (fib n)
(x + y^2 + 2y) / 3
( (x / y^2) + 2y) / 3
(define (+ a b)
(if (= a 0)
b
(inc (+ (dec a) b))))
(역주) 이 부분을 실제 실행해보면 무한루프가 발생한다. + 연산이 정의되지 않았다는 가정 하에 이해를 돕기 위해 저자가 일부러 그렇게 했기 때문이다.
f(n)=(n-1)+2f(n-2)+3f(n-3)
f(n)=f(n-1)+2f(n-2)+3f(n-3)
반복 프로세스
이 알고리즘은, a를 b로 나눈 나머지가 r일 때 a와 b의 최대 공약수가 b와 r의 최대 공약수가...
b_{k-1} >= Fib(k-1)이고 b_k ...
find-divisor를 끝내는 조건은 n이 소수가 아니면 (루트 n)보다 작거나 같은...
sum과 비슷하게, 어떤 구간 속에 있는 점^(숫자)마다 정해진 함수의 값을 구하고, ...
y3 = x / y2 = x / (x / y1) = y1
두 번 이상 곱셈할 일은 한 번밖에 없다...
두 팔 모빌은 다음과 같이 가지(막대기) 두 개를 (여기서는, list를 써서) 합친 데이터로 나타낼 수 있다.
fold-left (lambda (x y) <??>) nil sequence)
벡터를 짜맞추는 연산 make-vect와 벡터에서 좌표를 골라내는 연산...
s·(x, y) = (sx,sy)
(make-vect 0.0 0.0)) ; edge2의 새 끝점
예컨데, 덧셈 식이라면 더하임수augend(첫째 마디)나 덧수addend(둘째 마디)를 뽑아낼 수 있어야 한다.
어떤 집합 S T와 물체 x가 있다고 할 때, (element-of-set? x (union-set S T))는 (or ...
어떤 물체 x가 있다고 할 때, (element-of-set? x '())
가장 작은 원소이기 때문에, x1이 set2의 원소가 아니어서 교집합 원소가 되지 못...
글자 n개를 위한 허프만 나무가 있고, 글자마다 빈도가 1, 2, 4, ...
기와 각도를 받아서 복소수를 만들어 내는 make-from-mag-ang라고
x = r cos A r = √(x² + y²)
그 연산이 그 데이터 타입에 곧바로...
정수 → 유리수 → 실수 → 복소수
더 정확하게 설명하면, P와 Q가 다항식이고, O₁을 P의 차수(...), O₂를 Q의 차수라 하자. 또한 c가 Q의 첫 계수라 하자.
그 나머지를 가짜 나머지pseudoremainder라고도 한다.
a1 * a2 = s
a1 + a2 = s
(celsius-fahrenheit-converter C F5)
(celsius-fahrenheit-converter C F)
'문법 인터페이스'(3.3.3절에서 주석 27을 보자)다.
'문법 인터페이스'(3.3.4절에서 주석 27을 보자)다.
100원
5원
100원
300원
뮤텍스가 풀리면 막안놓던 프로세스를
뮤텍스가 풀리면 막아놓던 프레세스를
(memo-proc (lambda () <exp>)
(memo-proc (lambda () <exp>))
(0에서) n번째 원소가 n+1 사다리곱factorial 스트림을 만들어 보라.
(0부터 헤아렸을 때) n번째 원소의 값이 n+1 사다리곱factorial이 되는 스트림을 만들어 보라.
(scale-stream S 3)과 (scale-stream 5 S)의 원소도 그러하다.
(scale-stream S 3)과 (scale-stream S 5)의 원소도 그러하다.
(define S (cons-stream 1 (merge <??>)))
(define S (cons-stream 1 (merge <??> <??>)))
(defint (pi-summands n)
(define (pi-summands n)
(paris (stream-cdr s) (stream-cdr t)))))
(pairs (stream-cdr s) (stream-cdr t)))))
쓰임새를 늘려서 d²y / df² = f(dy/dt, y) 꼴의...
쓰임새를 늘려서 d²y / dt² = f(dy/dt, y) 꼴의...
그게 아니라면, let*를 let에서 이끌어낸 식으로 처리하지 않고 별로도 처리하는 게 맞는가?
그게 아니라면, let*를 let에서 이끌어낸 식으로 처리하지 않고 별도로 처리하는 게 맞는가?
snarf down : 주인 허락이 ...
와 엮어 쓸 수 없는 프로시저가 ...
와 엮어 쓸 수 있는 프로시저가 ...
보기를 들어, 패턴 (?x ?x)와 ((a ?y c) (ab ?z))를 동일화한다 치면, ...
보기를 들어, 패턴 (?x ?x)와 ((a ?y c) (a b ?z))를 동일화한다 치면, ...
달리 말하자면 논리 프로그래밍 언어에서 not이라는 이른바 닫힌 ...
달리 말하자면 논리 프로그래밍 언어에서 not은 이른바 닫힌 ...
이를 가지고 ((great. ?rel) ?x ?y)라는 관계를 ...
이를 가지고 ((great . ?rel) ?x ?y)라는 관계를 ...
?symbol 같은 꼴로 식 속에 들어 있는 패턴 변수를 (?symbol) 꼴로 바꾸기 위해서
?symbol 같은 꼴로 식 속에 들어 있는 패턴 변수를 (? symbol) 꼴로 바꾸기 위해서
화살표를 선으로 보고, X 단추를 스위치로 ...
화살표를 전선으로 보고, X 단추를 스위치로 ...
Ben Bitdiddle은 피보나치 기계 제어기가 부차적인 save와 restore 명령을 처리한다는 ...
make-new-machine으로 만든 기본적 모형은 본질적으로 ...
(register-table)
(list (list 'pc pc) (list 'flag flag))))
(register-table)
(list (list 'pc pc) (list 'flag flag))))
명령의 실행 과정과 분석을 분리하여 ...
(make-operation-exp
value-exp machine lables operations)
(make-primitive-exp
(car value-exp) machine labels))))
(make-operation-exp
value-exp machine lables operations)
(make-primitive-exp
(car value-exp) machine labels))))
b. (restore y)는 스택에 마지막으로 저장한 값을 y에 둔다. 하지만 이것은 마지막으로 y 의 값을 스택에 저장한 경우에만 그러하며, 다른 레지스터가 y 다음에 스택에 값을 저장한 경우에는 잘못되었다고 알린다.
c. (restore y)는 y가 마지막으로 저장한 값을 y에 둔다. 다른 레지스터가 y 다음에 저장하고 꺼내지 않았다는 것은 개의치 않는다.
c. (restore y)는 마지막으로 저장한 y의 값을 y에 둔다. 다른 레지스터가 y 다음에 스택에 값을 저장하고 아직 꺼내지 않았더라도 개의치 않는다.
실행기 내부에서 필요한 데이터도 들어간다.
(assign relocate-continue (label reassign-root))
타깃은 식을 번역한 값을 돌려줄 레지스터가 어떤 것인지 알려준다.
복합 식 계산에서 부분 식을 계산해 전체 식을 계산했듯이,
(append-instruction_sequences
(car operand-codes)
(make-instruction-sequence '(val) '(argl)
'((assign argl (op list) (reg val)))))))
(preserving '(env)
code-to-get-last-arg
(code-to-get-rest-args
(cdr operand-codes))))))))
(preserving '(argl)
(car operand-codes)
(make-instruction-sequence '(val argl) '(argl)
(preserving '(env)
code-for-next-arg
(code-to-get-rest-args (cdr operand-codes))))))
번역된 프로시저도 기본 프로시저가 아닌 복합 프로시저다.