【发布时间】:2023-03-10 23:02:01
【问题描述】:
第 78 页上经验丰富的计划者对 leftmost 和 lm 的定义如下。
(define leftmost
(lambda (l)
(letcc skip
(lm l skip))))
(define lm
(lambda (l out)
(cond
((null? l) (quote ()))
((atom? (car l)) (out (car l)))
(else (let ()
(lm (car l) out)
(lm (cdr l) out))))))
在下一页上,它对值部分中有多个表达式进行了以下说明。我不明白它如何使leftmost 工作的解释,例如(() a)。
当 (let ...) 的值部分有两个表达式时,我们必须首先确定第一个表达式的值。如果它有一个,我们忽略它并确定第二个表达式的值。”
【问题讨论】:
-
@LittleBobbyTables 有 several 标签用于特定书籍,例如:sicp、the-little-schemer、clrs 等。这对于学习如何学习的书籍特别有用程序,人们需要在他们的问题中参考具体的书,所以请不要因为你不同意就删除新创建的书标签,其他人可能会觉得它有用
标签: scheme let seasoned-schemer