灯下 登录
计算机科学 / SICP / 4.3.3 Implementing the Amb Evaluator

Exercise 4.53 · 习题

Exercise 4.53: With permanent-set! as
described in Exercise 4.51 and if-fail as in Exercise 4.52,
what will be the result of evaluating

(let ((pairs '()))

(if-fail

(let ((p (prime-sum-pair

'(1 3 5 8)

'(20 35 110))))

(permanent-set! pairs

(cons p pairs))

(amb))

pairs))

练习 4.53:在练习 4.51 所描述的 permanent-set! 以及练习 4.52 所描述的 if-fail 的基础上,对下列表达式求值将得到什么结果?

(let ((pairs '()))
(if-fail
(let ((p (prime-sum-pair
'(1 3 5 8)
'(20 35 110))))
(permanent-set! pairs
(cons p pairs))
(amb))
pairs))

Racket #lang sicp
(let ((pairs '()))
 (if-fail
 (let ((p (prime-sum-pair
 '(1 3 5 8)
 '(20 35 110))))
 (permanent-set! pairs
 (cons p pairs))
 (amb))
 pairs))