问题标签 [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 回答
81 浏览

recursion - 满足基本情况后,Scheme 如何返回递归过程的“构建”值?

我正在阅读Simply Scheme,然后进入递归部分。

我不明白为什么当满足基本情况时,Scheme 返回递归过程的“构建”值,而不是导致基本情况评估为的实际参数值#t

例如,看一下递归过程的示例代码片段,该过程将单词作为输入,将其反转,然后将其吐出:

这让我感到困惑:(if (empty? wd) wd

我知道当形式参数的实际参数值为wd空(或"")时,基本情况的计算结果为#t,导致第二个参数的值if被计算。

if明白的是( ,在这种情况下)的第二个参数如何wd返回非空的东西,即使它看起来是触发基本情况的相同的、空的、正式的参数。

我错过了什么?

如果文档(或文本)中有某些内容可以解释这一点,我很乐意对其进行审查。

0 投票
3 回答
104 浏览

scheme - 我不明白方案评估示例

我是 Scheme 语言的新手。我正在阅读“简单方案”一书,并遇到了下一个示例:

当我运行它时,我得到了 3。我知道每个 cond 表达式需要 2 个参数:一个用于条件的“eval”,第二个是“答案”。评估在哪里,答案在哪里?为什么 ?

0 投票
1 回答
675 浏览

scheme - SublimeREPL 窗口的 MIT 方案

得到错误WindowsError(2, 'The system cannot find the file specified.')

我试过修补 Main.sublime-menu,但有点不确定我应该放什么路径,所以我使用了 的变体C:\Program Files (x86)\MIT-GNU Scheme\bin\mit-scheme.exe,包括不mit-scheme.exe使用和使用“ \\\”(双精度)而不是“ \”(因为这是被接受的内容) sublime 是我用来编辑文件的),并且也不确定我应该在 Main.sublime-menu 中的哪个位置进行更改。

我读过类似的解决方案,但它们通常在 mac 中,您可以轻松地在控制台上键入哪个方案以获取方案的文件路径,所以我认为这与我不知道我的正确文件路径或某物?有任何想法吗?

0 投票
2 回答
474 浏览

scheme - TypeError,对象不适用

我写了一个相对简单的银行账户函数,但是当我尝试运行它时,我得到一个 TypeError,我不确定为什么?它直接来自 SICP,因此解决方案很容易获得,我只想了解为什么我的答案会产生该错误。有什么想法吗?这是我的代码:

以下是解释器的相关解释器输入和输出:

0 投票
1 回答
119 浏览

lisp - 与 g 制作相同的奇偶校验函数。w 在 mit 方案中

我正在尝试编写一个函数,该函数接受一个或多个整数并返回与第一个参数具有相同奇偶校验的所有参数的列表,例如

我的代码是

尝试此操作时(same-parity (list 1 2 3 4)),我收到一条错误消息:作为第一个参数传递给汽车的对象 () 不是正确的类型。

我可以告诉我发生了什么事吗?

0 投票
1 回答
365 浏览

haskell - Haskell 中的同构列表有什么用?

几个月前我开始学习 Haskell。还知道使用异构列表的另一种功能语言方案中的编程。我想知道这两种列表的优缺点,以便可以比较两种设计。

0 投票
5 回答
5484 浏览

scheme - 在 Windows 7 上运行 MIT 方案时出现“请求的分配太大”错误

错误:

“请求的分配太大。尝试使用更小的参数来 --heap”

我从http://www.gnu.org/software/mit-scheme/下载了 Windows 二进制文件。

我该如何解决?

0 投票
1 回答
831 浏览

scheme - 方案解释器中的向上箭头发送 ^[[A 而不是历史记录

我正在运行 mit-scheme-x86-64 并阅读 SICP。

由于某种原因,向上和向下箭头的行为与终端/其他所有解释器中的行为不同。

他们分别发送 ^[[A 和 ^[[B 。

我尝试在我的 .bashrc 中执行此操作,但没有成功。

我实际上不太确定我应该做什么。

0 投票
1 回答
171 浏览

scheme - 在 mit-scheme REPL 中取消定义过程

我正在使用 mit-scheme 通过 SICP,昨天,我做了一些愚蠢的事情,我想知道是否有一种方法可以从中恢复,而无需关闭 REPL,并重新开始。如果我定义一个非工作程序,与原语同名并破坏一切,有没有办法“取消定义”它?

我想“取消定义”这个“+”并继续原来的那个。

0 投票
1 回答
1099 浏览

debian - edwin编辑器怎么修改字体大小?

我正在使用 mit gnu 方案附带的 edwin 编辑器。当我在我的 Debian 系统上使用以下命令“scheme -edwin -edit”打开它时,我得到了编辑器窗口,但它的字体非常小。

即使经过多次搜索,我也无法弄清楚如何更改编辑器的默认字体大小。我尝试了以下命令((ref-command set-default-font)“200”)但无济于事。我可以在这里找到参考http://courses.csail.mit.edu/6.844/spring05-6844/handouts/edwin.ini但这并没有多大帮助。

如何更改 edwin 中的字体大小?