Questions tagged «sicp»

4
Scheme和Common Lisp之间的实际区别是什么?(或Lisp的其他两种方言)
注意:我不是在问要学习哪个,哪个更好或者类似的东西。 我选择了SICP的免费版本,因为我觉得读起来会很高兴(我听说过很多不错的东西,并且我对编程的这种方面很感兴趣)。 我知道Scheme是Lisp的方言,我想知道:Scheme与Common Lisp之间的实际区别是什么? 似乎有很多关于“ CL具有更大的stdlib ...方案对于实际编程不利的..”,但实际上并没有说“这是因为CL是这个/拥有这个”。

6
SICP中练习1.6的解释是什么?
我刚刚开始通过SICP工作(我个人;这不是一节课),而且我在练习1.6中苦苦挣扎了几天,但我似乎无法弄清楚。这是Alyssa根据进行重新定义if的方法cond,如下所示: (define (new-if predicate then-clause else-clause) (cond (predicate then-clause) (else else-clause)) 她在一些简单的情况下成功地对其进行了测试,然后使用它来重写平方根程序(与配合使用就可以了if): (define (sqrt-iter guess x) (new-if (good-enough? guess x) guess (sqrt-iter (improve guess x) x))) 然后问题问:“当Alyssa试图用它来计算平方根时会发生什么?解释。” [如果有必要,我很高兴能重现其他程序(good-enough?,improve,等),只是让我知道。] 现在,我知道会发生什么:它永远不会返回值,这意味着程序可以无限递归。我只是无法解释为什么会这样。两者之间存在任何细微的差异,if并且使new-if我难以理解。任何和所有帮助非常感谢。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.