问题标签 [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 投票
15 回答
35905 浏览

macos - OS X 的最佳方案或 LISP 实现是什么?

我正在寻找一个版本的 Scheme 甚至是 LISP,我可以用它来恢复一些丢失的 Lisp 开发技能。一些网络功能会很好,但不是必不可少的。

我看过 Plt 和 MIT 方案,虽然两者看起来都不错,但 Plt 似乎功能更丰富。我还查看了 Lisp 实现,但所有这些似乎都非常昂贵。

我喜欢免费/廉价的实现,因为这很可能只是偶尔的爱好编程。你会有什么建议?

0 投票
4 回答
2923 浏览

scheme - 在 Scheme 中分配原子列表

我正在尝试在 Macintosh 上使用 DrScheme 从“The Little Schemer”一书中学习 Scheme。它以“l 的汽车是什么,其中 l 是论点 (abc)?”之类的东西开头。

我知道这个问题的答案是,但我实际上无法弄清楚在 Dr Scheme 中输入什么来“跟随”。关于如何分配给 l 的一个简单想法,例如 > (def l ('a 'b 'c))

给我错误:“函数调用:在左括号后需要一个定义的名称或原始操作名称,但发现了别的东西”

0 投票
5 回答
1442 浏览

function - 方案功能是一种衬里吗?

我正在关注计算机程序的结构和解释,在尝试解决 Ex 1.3 时,我第一次尝试得到以下代码:

它不起作用,我查找了解决方案并在SICP Wiki上找到了它们

不同之处在于我使用多个语句来定义变量,然后对平方求和,而正确的方法是将我的每一行定义为函数。

方案一中的函数是线性的吗?还是我错过了整件事?

0 投票
1 回答
659 浏览

visual-studio - 在 Visual Studio 2008 中使用 Ironscheme

虽然 IronScheme codeplex 网站上说 Visual Studio 包含一个插件,但我不知道如何让 Ironscheme 与 VS 一起工作......

可能吗?如果是这样,如何?

谢谢

0 投票
4 回答
24346 浏览

scheme - 在 Scheme 中,“set!”有什么意义?

在方案中使用set!赋值运算符有什么意义?为什么不只是rebind使用一个新值的变量define

0 投票
10 回答
7100 浏览

scheme - 什么软件用Scheme写的?

在几年前参加的编程语言概念课上,我很喜欢 Scheme。自从阅读了 Paul Graham 对 Lisp 的评价后,我就一直打算回去重新学习 Scheme,看看它是否会总体上改进我的编程。

有没有用Scheme编写的知名软件作品?开源包?网站?

0 投票
1 回答
380 浏览

multithreading - 正确使用 Scheme (Bigloo) 中的线程

我正在尝试使用 Bigloo 实现在 Scheme 中编写应用程序服务器。编码:

它编译正常,但程序在启动后立即终止:

我哪里错了?

非常感谢。

0 投票
2 回答
1611 浏览

scheme - 如何使用 Scheme 附加到文件?

我正在使用 TinyScheme(实际上是 GIMP 中的 Script-Fu),但找不到打开文件并向其附加一行文本的好方法。

我正在尝试将一些信息记录到文件中以进行调试,并且似乎没有实现转录...

现在我正在阅读整个文件(一次一个字符!),将它连接成一个字符串,将我的文本连接到它的末尾,然后再次将其全部写入文件。

一定会有更好的办法!

0 投票
2 回答
476 浏览

stream - 如何使用 Streams 在 Scheme 中制作更好的映射器

map 的 Scheme 实现采用 N+1 个参数:一个包含 N 个参数的过程和 N 个列表。此外,当到达最短列表的末尾时,它会终止映射。

另一种方法是为每个列表提供一个默认值,如果结果比其他列表短,它将被视为每个列表的下一个元素。

那就是定义一个过程 streem-map 作为它的参数: N 个
参数的过程
N 个元素的列表,这是第 N 个流
N个流的默认值

流映射生成一个流,其中第一个元素是应用于流的 (N) 个第一个元素的过程,第二个元素是应用于流的第二个元素的相同过程,依此类推。如果第 N 个流变空,则 streem-map 使用第 N 个默认元素。因此,由 streem-map 产生的流永远是无限长的;如果所有 N 个输入流的长度都是有限的,最终它将生成由应用于 N 个默认值的过程组成的列表。

例如:

将生成包含以下内容的无限流:'(36 36 6 0 0 0 ...)

0 投票
17 回答
18784 浏览

lisp - 我应该学习哪种 Lisp?

我应该学习哪种 Lisp(方言),为什么?

CL 和 Scheme 之间的碎片化减慢了吸收(至少对我而言!)。

所以,请给我“真正的答案”!

我试图阅读功能比较,它们似乎陷入了深奥(我不完全理解),比如方言是否完全尾递归等等。我希望你们所有人(集体)能够清楚地说明不透明的差异。

我喜欢的东西

良好的库支持、良好的环境和 Unicode 支持。

我不喜欢的东西

火焰战争。一开始很有用,但会干扰长期学习的功能。


更新

  1. 一旦我获得了 readline 支持,我一直在使用 MzScheme,我很享受。我不在 Unix 上运行 GUI,所以它对我来说似乎是一个很好的环境选择。

  2. 我也很高兴 Clojure 有一个易于在 debian 上安装的 .deb 包,因此它更易于使用。这是一个很大的胜利。尽管下面有一些相当容易激怒的敌意,但进入门槛低是一种胜利。我喜欢被勺子喂。

  3. 在阅读了更多的SICP 之后,我确实更好地理解了尾递归的问题。