问题标签 [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.
scheme - 尝试在 MacOSX Snow Leopard 上安装 MIT-Scheme 时遇到问题
我正在尝试安装 MIT-Scheme,以便我可以在终端上使用它而不是使用 IDE,但是,我很难找到实际上是最新且有效的教程。
scheme - 如何从(MIT)方案调用本机代码?
如何MessageBox
从 Scheme 中调用本机函数(例如 )?
scheme - 使用流生成带有交替符号的数字的更好解释
这里的代码可以生成这样的数字 [1 -2 3 -4 5 -6 7 -8 9 -10 ...]
我不太明白它产生交替符号的方式。有人可以给我一个更好的描述来帮助我想象这个吗?
您可以在 mit-scheme 中运行代码。
scheme - 如何在方案中定义子环境?
我只是在使用 Scheme (mit-scheme),我刚刚弄清楚了如何更改环境,因此“+”成为“-”运算符的等效过程的符号。
例子
我只是想知道是否有一种简单的方法可以将环境作为变量处理,所以当我将环境输入到 eval 中时,就像这样
我不必使用“用户初始环境”。所以我可以在不同的环境中“玩”一个功能。
其中 env 是附加到我的变量“env”的一些预定义环境。
recursion - 在递归过程中显示到输出端口 - 方案
我正在学习 Scheme 并想编写一个递归过程,在每个运行级别输出到控制台:
然后测试:
但似乎只有最后一个调用过程的输出才会被打印出来。我应该怎么做才能让它发生?谢谢。(我正在使用 Mit-scheme)
debugging - 使用 MIT-Scheme,有没有办法检查复合过程对象?
使用 MIT-Scheme 9.x,有没有办法使用调试器或其他工具来检查匿名复合过程(通过返回 lambda 函数创建),例如找出它来自哪一行的确切代码?
例如,我目前正在做类似的事情:
我看到一条错误消息,例如:
... foo 正在做一些进一步的调度( foo 不是这里的问题,它更深)。在这个例子中,我真的很想知道 #[compound-procedure 65] 的内部结构,因为它显然不是我所期望的。那里的 Lisp/Scheme 向导是否知道获取这些详细信息的方法?谢谢。
scheme - Mit-Scheme中的空值?
谁能告诉我 mit-scheme 中的空值表示是什么?在 SICP 书中,它应该是“nil”,但它不起作用。谢谢。
vim - 如何使用 MIT-Scheme 为 slimv 启动 REPL
我的操作系统是 Debian Squeeze。这是vim版本:
VIM - Vi IMproved 7.2(2008 年 8 月 9 日,2010 年 7 月 12 日 02:29:33 编译)
我阅读了关于http://kovisoft.bitbucket.org/tutorial.html的教程并尝试为 MIT-Scheme 启动 REPL。不幸的是,我没有开始。
当我按下“,c”时,它启动了一个终端窗口加载 mit-scheme。vim 的 REPL 缓冲区中没有显示任何内容。终端显示一些错误:
我阅读了源代码并修复了一些错误(关于 netcat 的参数和其他内容),这是 diff 文件:
我重试了,但出现了一些新问题。
这是日志文件(swank.log)
这是数据包:
scheme - 如何在方案中将字符串作为函数名传递?【Scheme中函数名的动态构造】
问题如下,它在http://www.cs.indiana.edu/classes/b551-leak/scheme_practice.html中找到。
问题定义:编写一个函数 cxr,它是 Scheme 中提供的 car/cdr 运算符的泛化。cxr 应该接受一个字符串 "a"s 和 "d"s 代表要执行的 car 和 cdr 操作的序列,并返回一个能够执行该序列的函数。
因此 (cxr "ad") 等价于函数 cadr。
我的尝试:我使用 string-append 将 cxr "ad" 转换为字符串 "cadr"。[这很简单] .. 现在我如何在“cadr”和 cadr 之间进行链接...我尝试了字符串-> 符号,但是输出被引用并且函数没有被执行。- 那么有什么方法可以取消引用?!
真正的问题:如何解决这个问题?
更新:感谢所有这些答案。它们都是正确的,我什至在发布问题之前就已经通过这种方式解决了。我主要是在寻找一种在输入为 (cxr adddd) 时实际调用 caddddr 的方法...... Everbody 的功能与 caddddr 相同,但实际上并未调用 cadddr。
也就是说,如何使函数具有与 cadr cadr 等相同的命名类型。
更新:(我想我找到了解决方案,它如下 - 但正如下面所说,它不适用于更长的 d):
linux - 麻省理工学院计划 REPL 历史
我已经使用 MIT-Scheme 有一段时间了,效果很好。但是,在 REPL 模式下,我真的很怀念我输入的所有命令的历史记录。如果出现小的印刷错误,重新输入一段代码是非常令人沮丧的。
如何启用该history
模式?(如果存在这样的事情)