问题标签 [mit-scheme]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1398 浏览

clojure - 为什么 Clojure 在等效功能方面比 mit-scheme 快得多?

我在 Clojure 中找到了这段代码来筛选出前n 个素数:

然后我在 Scheme 中编写了等效的(我认为)代码(我使用 mit-scheme)

计时结果是:对于 Clojure:

对于 mit 方案:

谁能告诉我为什么 mit-scheme 慢了 20 倍以上?

更新:“不同之处在于迭代/编译模式。在我编译了 mit-scheme 代码后,它的运行速度相当快。– abo-abo 2012 年4 月 30 日 15:43

0 投票
2 回答
416 浏览

emacs - Emacs Scheme 评估-最后-性

我试图将这些添加到我的 .emacs 中,但它们似乎没有效果

当我在 .scm 缓冲区中尝试 Cx Ce 时,我正在使用 quack 并让 MIT-Scheme 在一个缓冲区中运行。我没有评估最后一个 s 表达式,而是得到“您必须使用 run-ilisp 启动一个劣质 LISP。” 但是,如果我手动添加快捷方式:

有用。如何在不手动输入的情况下在 Emacs (23.3.1) 中获得此功能?

0 投票
1 回答
2015 浏览

lisp - 定车!并让方案语言

我对这个例子的结果有点困惑:

我想知道为什么两个x原子都被set-car!程序替换了(我对结果的第一个猜测是((x) y))?

例如:

为什么第一个示例中的两个xs 都被替换了?

0 投票
1 回答
1010 浏览

lisp - mit-scheme vim slimv:“读取错误:没有为 #\F 定义调度函数”

这是一个非常简单的方案功能

但是,当我在 vim 中按,d,F来运行此函数时,出现错误

/home/oo/tmp/t.scm:64 读取错误:没有为 #\F 定义调度函数

行:4,列:21,文件位置:64

流:#<SB-SYS:FD-STREAM for "file /home/oo/tmp/t.scm" {AC84DA9}>

在此处输入图像描述

0 投票
1 回答
1577 浏览

scheme - 在 MIT 方案中读取命令行参数

我正在尝试使用 MIT 方案(在 GNU/Linux 下运行的 MIT/GNU 方案,版本 7.7.90.+ || 微代码 15.1 || 运行时 15.7)运行方案程序,并且我想访问命令行参数。

我查看了文档,但没有找到任何具体的内容。我已经尝试过命令行,但我收到一条错误消息:

我是否必须加载一些库才能使用命令行,或者是否有其他功能?

0 投票
1 回答
522 浏览

mit-scheme - 带有 mit-scheme 的 slimv 中的未绑定变量错误

尝试从 vim 启动 swank 服务器后(或执行命令后

方案 --load /usr/share/emacs/site-lisp/slime/contrib/swank-mit-scheme.scm

从终端提示符)我收到以下错误:

似乎该错误是由以下行引起的:

有什么想法我能做什么?

0 投票
2 回答
3334 浏览

read-eval-print-loop - 带有命令行历史和制表符补全的 mit-scheme REPL

我正在阅读SICP,我正在通过homebrewmit-scheme安装在我的 os x 10.8 笔记本电脑上。

一切都像宣传的那样工作,但是我很容易在 REPL 中为 Python 和 Node.js 等运行时获得选项卡完成和命令行历史记录。

我不是在寻找任何繁重的任务,但是这些功能在现代 REPL 中很容易获得(它只是Python 中的一个简单的启动文件,可以在 Node.js 中用几行代码实现)。

是否有一种简单的方法可以在 mit-scheme REPL 中获得选项卡完成和命令历史记录,而无需重型应用程序或不必切换到 emacs(即在 xterm 终端中)?

0 投票
1 回答
276 浏览

scheme - 加载文件时如何在 MIT-Scheme 中关闭解释器日志

这是一个非常具体的问题,但我一直试图让它工作两天但没有成功。

我正在使用 MIT-Scheme(在 Ubuntu 10.04 上发布 7.7.90)来运行一些 Scheme 脚本。我的命令行如下所示

我的问题是,如果主脚本加载其他 Scheme 文件,解释器会通过打印以下内容来记录此内容:

这很烦人,因为我的脚本还记录了一些与上述输出混淆的进度信息。所以,我想完全抑制加载过程的输出。

我一直在浏览在线文档,但没有找到任何具体的内容。我发现的唯一解决方案是将脚本及其所有依赖项加载到解释器中,并使用磁盘保存保存图像。如果我然后使用 --band 选项加载该图像,所有不需要的输出都消失了。

但是我当然不想每次修改源文件时都加载源并保存图像。是否有更简单的解决方案,例如命令行选项、环境变量或可以从 Scheme 代码中设置的某些选项?

0 投票
1 回答
370 浏览

emacs - 方案发送区域 emacs

我在 emacs 中打开一个 .scm 文件,并尝试使用 ++ 命令在 mit-scheme 劣质缓冲区中对其进行评估,Ctrl但是没有任何x Ctrl反应。r我按照页面中“Emacs 中的启动方案”部分中的说明操作,使用“ http://community.schemewiki.org/?emacs-tutorial ” 。

因此,当尝试直接在运行 mit-scheme 的缓冲区中评估某些内容时,我会看到相同的行为:当我按下回车键时,什么都不会被评估。但是当我直接在命令行中使用解释器时效果很好。

我的 .emacs 文件如下所示:

我有 XUbuntu 12.04、emacs23 和 mit-scheme 9.1.1。

¿ 对这个问题有任何想法吗?

提前致谢

0 投票
2 回答
923 浏览

scheme - 如何在 MIT Scheme 中获取我的函数定义?

在 JavaScript 中,我可以检索函数的“源代码”定义,例如:

将完全返回我输入的内容。http://jsfiddle.net/DuCqJ/

我怎样才能在 MIT 计划中做到这一点?

我记得看到一些返回#compound-procedure的东西,但我真正想要的是“源代码”。