python延迟执行
要在 Lisp 中实现 流作为延迟列表,它是 推荐使用Lisp 宏。 (defmacro cons-stream (a b) (cons ,a (delay ,b))) (defmacro delay (expr) `(memo-proc…
使用流生成具有交替符号的数字的更好解释
这里的代码可以生成这样的数字 [1 -2 3 -4 5 -6 7 -8 9 -10 ...] (define (integers-starting-from n) (cons-stream n (stream-map - (integers-start…
为什么 apply 对于 Lisp 评估器如此重要?
我已经阅读了SICP的第4章,刚刚发现第一节列出了实现评估器最重要的函数,eval和apply,我明白eval 非常重要,但是为什么apply如此重要呢?对于某些语…
为什么在 Clojure 中尝试使用辛普森规则时会出现强制转换错误?
我正在尝试使用 Clojure 完成 SICP 中的一些练习,但我当前执行辛普森规则的方法(例如 1-29)出现错误。这与懒惰/急切的评估有关吗?关于如何解决这…
方案,SICP,R5RS,为什么延迟不是特殊形式?
这是关于 SICP 的第 3.5 章,其中正在讨论流。这个想法是: (cons-stream 1 (display 'hey)) 不应该评估 cons-stream 的第二部分,因此它不应该打印“…
如何获取 SICP、Scheme、练习 2.78 等中的 put 和 get 函数
我正在尝试在 SICP 中做练习 2.78,但 put 和 get 函数未知。我尝试过多种语言,比如相当大、racket、r5rs、mit-scheme、mzscheme等。我什至下载了SIC…
SICP汽车/CDR练习题问题
我在这里尝试 SICP 的“在线导师”:http://icampustutor.csail.mit.edu/6.001-public/tutor.cgi?op=registration-page 我正在查看以下问题: 假设我…
Scheme 和 Common Lisp 之间的实际区别是什么? (或任何其他两种 Lisp 方言)
注意:我并不是在问学习哪个、哪个更好,或者诸如此类的问题。 我选择了 SICP 的免费版本,因为我觉得阅读它会很好(我听说过一些好东西)关于它,我…
帮助理解使用 lambdas 的方案中 cons 和 car 的实现
我的问题与以下代码有关: (define (cons. x y) (lambda (m) (m x y))) (define (car. z) (z (lambda (p q) p))) 我的问题是该代码的实际工作原理。据…
DrRacket 解释器是否使用基于 SICP 练习 1.5 的正态顺序评估?
人们必须根据以下值做出决定: (测试 0 (p)) 其中 test 定义为 : (define (test x y) (if (= x 0) 0 y)) 并且 p 定义为 : (define (p) (p)) 当我评…
附加到表单如何工作? (SICP 的逻辑编程部分)
我目前正在学习 SICP 的逻辑编程部分,但我陷入了有关逻辑推论的示例中,尤其是附加到表单规则。它们如何工作?我不太明白的是第二条规则 cdr-downs …