让 SICP 在 Racket 上运行:练习 4.48,无法让 load() 工作
我正在尝试解决 SICP 的练习 4.48。我试图让加载机制运行,即加载 ch4-mceval.scm (期望所有定义都可用),但我似乎没有得到正确的语法。 我尝试过 #…
球拍博士中的 mcons
我在读取球拍博士的输出时遇到问题。默认情况下,它使用 mcons 显示列表。例如,sicp 练习 2.32 生成: > (subsets (list 1 2 3)) (mcons (mcons '() …
为什么将语法分析与执行分开?
在 SICP 第 4 章中,通过将语法分析与执行分离来修改元循环求值器,使 eval 过程看起来像: (define (eval exp env) ((analyze exp) env)) 书上说这将…
我正在阅读 SICP 并尝试跟进,但为什么我在网上找到的 Lisp 解释器在使用 DEFINE 关键字时会失败?
这是书... http://mitpress.mit.edu/ sicp/full-text/book/book.html 知道我应该使用哪种解释器来处理此处提供的代码吗? 到目前为止,我已经尝试了一…
SICP 练习 3.8 - 为什么该程序有效? (我认为这与环境有关)
SICP中的练习3.8描述如下: 当我们在1.1.3节定义评估模型时,我们说 计算表达式的第一步是计算它的值 子表达式。但我们从未指定过顺序 应该评估子表达…
将 r5rs 文件包含到球拍中的另一个文件中
我的一门课程是使用 DrRacket 来完成 SICP 的某些部分。我们正在开发元圆求值器,我有一个 R5RS 代码文件(set-car! 和 set-cdr!),我需要在工作中使…
SICP sqrt 空指针异常
我在 Clojure 中实现一些开始的 SICP 代码时遇到了意外的 NullPointerException。特别是,我想实现 1.1.7 节中的迭代平方根过程。 代码如下: (defn s…
如何编写 MIT Scheme 宏来返回 lambda 形式?
我对在 MIT 方案中尝试创建这个简单的(在 Common Lisp 中)宏的等价物感到困惑: (defmacro funcify (exp) `(lambda (x) ,exp)) 这是一个简单的个人…
C# 开发人员开始 SICP - 建议的开发环境?
我终于开始阅读SICP了。 我下载了GNU/MIT计划 看来我需要在 Edwin 编辑器中工作,我相信当你习惯它时它会很棒,但是我真的不想在学习 Scheme 的同时学…
像快速失败测试一样运行 SICP 方案文件
经过几年的编程,似乎是时候最终攻击SICP了。然而,我不想在 Emacs 中编辑和运行所有内容,而是使用不同的编辑器和简单的 makefile 运行所有练习。这…
运行基于 SICP 模式匹配规则的替换代码
我在网上找到了本课的代码(http://groups.csail.mit.edu/mac/ftpdir/6.001-fall91/ps4/matcher-from-lecture.scm),我玩得很开心尝试调试它。该代码…
使用 Clojure 帮助建立替换模型 [Sicp]
我正在学习 sicp 书,我对程序的替换模型有疑问: (defn A [x,y] (cond (= y 0) 0 (= x 0) (* 2 y) (= y 1) 2 :else (A (- x 1) (A x (- y 1))))) 该…