阅读 SICP 时使用什么解释器? [关闭]

2023-12-13

我正在阅读 SICP 书,网址为http://mitpress.mit.edu/sicp/

要运行示例代码,我应该使用哪个解释器?

我考虑过 Eclipse 的 Dandelion Lisp 插件:http://sourceforge.net/projects/dandelion-ecl/

也考虑 Windows 方案http://www.gnu.org/software/mit-scheme/

我应该使用哪一个?

读这个问题似乎我应该使用 Scheme ? :Scheme 和 Common Lisp 之间的实际区别是什么? (或任何其他两种 Lisp 方言)

如果会的话http://www.gnu.org/software/mit-scheme/够了吗?


麻省理工学院的方案应该可以工作,具体取决于您的操作系统,但它不是一个非常好的界面。Racket是 Lisp-y 事物的一个非常流行的解释器,并且确实存在一个package对于尝试实施SICP方案的Racket。它并不完美,但它是我过去在 SICP 中使用的,与 MIT 方案相比,与解释器的冲突要少得多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阅读 SICP 时使用什么解释器? [关闭] 的相关文章

  • 方案作业

    当我每次得到值 10 时评估以下表达式 lambda x lambda set x x 10 x 0 不过 我只是通过用名称抽象上述过程来进行修改 并在每次值增加 10 时调用 foo define foo lambda x lambda
  • 方案单词列表 eq?

    我有一个问题 我需要查找列表是否等于第二个列表 例如 set eq 1 2 3 1 2 3 gt t set eq 1 2 3 2 3 4 gt f 这些例子在我的程序中是正确的 但这个例子不是 set eq quote quote one
  • 如何重写Scheme中的“begin”?

    As the 维基百科 http en wikipedia org wiki Scheme programming language Standard forms文章解释说 begin在Scheme中是一种库形式 可以使用更基本的形式重写
  • 小阴谋家 - 从哪里开始?

    我刚刚打开 小阴谋家 我觉得我错过了一些东西 第一个问题问 这是一个原子吗 但我没有看到原子是什么的任何定义 我想我可以通过问题的答案推导出什么是原子 但随后它继续问 l 的 car 是什么 l 的 cdr 是什么 我不知道在问什么 这本书
  • 在Scheme中插入二叉树

    我想知道如何将列表中的元素插入二叉搜索树 我想知道为什么下面的代码不能按我的预期工作 输出是 4 1 5 13 6 我的下一个问题是对列表中的元素进行排序 但现在我只想插入它们 我的输出对于我所说的问题是否正确 我的代码如下 define
  • 展开方案中的函数

    Goal 实施unfold仅使用两个参数的函数 论据 第一个参数是 f 它接受某种类型 I 的初始值并返回 nil 或两个元素的 cons 对 这两个元素中的第一个是某种类型 A 的列表中的下一个元素 下一个初始值又是某些类型 I 第二个参
  • 访问Scheme中的调用堆栈深度

    为了演示尾递归的有效性 我想要一种在Scheme中动态访问调用堆栈深度的方法 有没有办法做到这一点 如果没有 有没有办法在其他主要函数语言 OCaml Haskell 等 中做到这一点 Racket 允许您在调用堆栈中存储值 您可以使用它来
  • 将列表传播到父代 sexp 中

    在任何 lisp 中是否有一种形式可以在父 sexp 中 传播 列表 喜欢 spread 1 2 3 gt 1 2 3 有两种方法可以做到这一点 哪个更好取决于您最终想要什么 一般来说 您可以使用 inside 反引号 表格如下 被评估以生
  • 不知道如何解决 SICP 练习 1.11

    练习1 11 http mitpress mit edu sicp full text book book Z H 11 html thm 1 11 一个功能f由以下规则定义f n n if n lt 3 and f n f n 1 2f
  • 如何在方案中向后打印字符串?

    我知道如果我按照以下方式编写方案代码并输入 单词 a b c 它将以相同的顺序输出列表 您能告诉我是否有一种方法可以以相反的顺序打印出来 例如 列出 c b a 它需要是我以相反顺序打印出来的用户输入 所以 我不能称之为 反向 a b c
  • 方案功能[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我试图解释这个方案函数的作用 define y s lis cond null lis equal s car lis lis else
  • Racket 中的“match”可以具有带有来自外部作用域的变量的模式吗?

    考虑以下示例 lang racket match cat doge a b match b a t f Not a pair 如果我想匹配头部和尾部相同的对 我可能会这样写 但这不起作用 因为第二个a被绑定为一个新变量 并且匹配任何内容 是
  • 大括号 {} 替换 Racket 中的“开始”

    是否可以有一个宏 使用大括号 来表示一个语句块 从而替换 begin 关键字 因此 代替 if condition begin statement1 statement2 statement3 statement4 else stateme
  • 模拟Scheme中Python的范围

    如何在Scheme中创建连续数字的列表 在Python中创建一个从1到10的整数列表是range 1 11 方案有等效的吗 mzscheme version gives Welcome to Racket v5 2 1 Edit Per h
  • Scheme/Lisp 嵌套循环和递归

    我正在尝试解决方案中的一个问题 该问题要求我使用嵌套循环或嵌套递归 例如我有两个列表 我必须检查它们的笛卡尔积的条件 解决这些类型问题的最佳方法是什么 有关如何简化这些类型的函数的任何指示吗 I ll elaborate a bit sin
  • 方案中的尾递归幂函数

    我在方案中编写尾递归幂函数时遇到问题 我想使用辅助函数来编写该函数 我知道我需要一个参数来保存累计值 但在那之后我就陷入了困境 我的代码如下 define pow tr a b define pow tr h result if b 0 r
  • 我在函数的最后一次递归调用中得到“方案应用程序而不是过程”

    所以这是代码 define time prime test n newline display n start prime test n runtime define start prime test n start time if pri
  • 如何使用 DrRacket 遵循 SimplyScheme 书籍

    我希望能够操纵句子 以便我可以将它们作为输入并根据单个字母等内容返回输出 例如 ends e 命令将返回所有以 e 结尾的单词 ends e only the good die young gt the die 不幸的是 e 是一个字符串
  • 内联执行生成的汇编程序

    我正在阅读以下演示文稿 http wingolog org pub qc 2012 js slides pdf http wingolog org pub qc 2012 js slides pdf其中讨论了 4 10 19 内联 ASM
  • “映射”是否一定会产生额外的嵌套级别?

    是否使用嵌套map自动创建另一层嵌套 这是我使用的一个基本示例 One level map lambda x1 Hi 1 Two levels map lambda x1 map lambda x2 Hi 1 1 Three levels

随机推荐

  • 无法重新分配自动全局变量 _POST

    我收到以下错误 Fatal error Cannot re assign auto global variable POST in C Program Files x86 Zend Apache2 htdocs includes class
  • 我们如何在 iPhone Xcode 中处理多个 NSURLConnection?

    我正在开发一个小应用程序 其中有多个 NSURLConnection 我已经创建了该 NSURL 连接 但我不知道如何处理它 我的代码如下所示 void loadTrafficAndEvent int a 10 Get the map vi
  • 错误:Android 上的自签名 SSL 证书名称不匹配

    我正在尝试使用内置浏览器从 Android 2 3 4 访问受 SSL 保护的 Web 应用程序 服务器证书是我使用创建的自签名证书MAKECERT并安装在服务器上 当我尝试访问该页面时 我从浏览器收到一条错误消息 指出The name o
  • 如何在Unity中通过脚本创建动画剪辑?

    我想创建一个AnimationClip在脚本中针对GameObject在统一中 但是 我不知道该怎么做 我已将以下代码附加到GameObject在 Cube 中并按下播放按钮 但是 我得到了错误输出 using UnityEngine us
  • 如何在 Hibernate 中将多个值类型集合映射到一张表?

    出于性能原因 我试图将休眠中的许多值类型集映射到一张表 首先 我确实将它们全部放在自己的表中 这导致了太多的连接 我有一个类别类 其中包含许多带有一组集合的组件 然后我使用实体名称和鉴别器通过子类将它们映射到单个表 请参阅下面的映射片段 这
  • django - 加载静态文件的服务器错误

    所以我正在构建我自己的 django 网站 现在我一直在加载静态数据 我在控制台中收到以下错误 GET http localhost 8000 static css style css 500 Internal Server Error 我
  • Google Material图表柱形图(条形图)自定义列颜色不起作用

    我想画一个简单的柱形图 in HTML JavaScript using google chart 我用过Google materiel chart CDN绘制柱形图有 4 行 4 种不同颜色 我尝试了很多选择 但没有一个能正常工作 当我使
  • 将 .NET Maui Preview 14 发布到 App Store 和 Google Play

    是否可以将 NET Maui 应用程序发布到 Apple AppStore 和 Google Play 还是我们需要等到 NET Maui 最终确定 正如评论中已经指出的那样 您绝对可以 但由于明显的原因并未正式推荐 不过 我确实知道现在商
  • 使用itext在pdf页脚中创建包含2行的表格

    您好 我想添加 2 行页脚 第一行将包含带有背景颜色的文档名称 第二行将有版权说明 我尝试使用 ColumnText 创建 但我无法设置行的背景颜色 只有文本获取背景颜色 有什么办法可以实现这一点吗 我花了一整晚的时间来寻找解决方案 但没有
  • 如何求逆排列?

    假设我有一个未知向量v 以及一个排列p 我该如何重建v from v p and p 一个等效的问题是找到一个排列q这样p q 1 2 n 由于这将在紧密循环中运行 因此我需要将答案矢量化 并且高效 为了找到逆排列 我通常使用 q sort
  • 在Android中使用静态方法?

    我已经在 Android 中制作了一些应用程序 并注意到我经常使用静态方法 例如我有一个类扩展PreferenceFragment 在此 PreferenceFragment 中我设置了一个onClick事件在Button Button b
  • INSERT,并获取自增值

    考虑下表 create table language id integer generated always as identity START WITH 1 INCREMENT BY 1 name long varchar constra
  • 在 PHP 中迭代嵌套数组

    我在此链接上有一个嵌套数组阵列样本 我正在使用下面的代码来解析它 但第二次和深度之外它什么也没有返回 但是尝试使用递归函数 printAllValues ArrXML function printAllValues arr keys arr
  • android中没有创建数据库

    在我的应用程序中 活动运行良好 但未创建数据库 logcat 中也没有错误 主要活动类别 package com example testdb import android os Bundle import android app Acti
  • vba sumifs单列中的多个条件

    假设我在 A 列和 B 列中有这样的内容 A 5 A 1 3 A 2 2 A 3 3 A 4 4 我想做 Application SumIfs range b b range b b A A 2 但这不起作用 数组值 我希望不经历 EVAL
  • 计算 MongoDB 中另一个字段分组的文档中某个字段中字符串实例的数量?

    我有一个特定的用例 我正在尝试找到一种方法在一个聚合管道中完成它 并且最好不需要对任何数据值进行硬编码 我想根据一个属性对文档进行分组 并查看文档中特定字段的值计数 示例数据 flightNum DL1002 status On time
  • Cocos2d 获取当前时间(以毫秒为单位)

    我尝试用谷歌搜索 但仍然找不到最佳答案 我想要的很简单 我只想获取当前时间 以毫秒为单位 我怎样才能在 cocos2d 中做到这一点 首先 一个类变量 CGFloat gameTime 然后在你的类中初始化 self scheduleUpd
  • 简单的xml添加属性

    当我使用 PHP 在 XML 中添加新元素时 如何设置属性 我的PHP代码是这样的
  • 在C中将int数组更改为float数组

    有谁知道如何将整数数组转换为浮点数组 你的问题措辞不好 但是 假设您已经声明了整数数组 您可以尝试如下操作 instantiate float array float fArray sizeOfIntArray step through e
  • 阅读 SICP 时使用什么解释器? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在阅读 SICP 书 网址为http mitpress mit edu sicp 要运行示例代码 我应该使用哪个解释器 我考虑过 Eclipse 的 Dandelion Lisp