45

我的大部分开发都是在 Common Lisp 中完成的,但有时我想切换到 Scheme(在读Lisp in Small Pieces时,当我想玩 continuations 时,或者当我想用 Gauche 编写一些脚本时,因为例子)。在这种情况下,我的主要不适来源是我没有史莱姆(是的,你可以称我为瘾君子)。

Scheme 与 Slime 最接近的对应物是什么?具体来说,我最感兴趣的是:

  • Emacs 集成(这一点很明显;))
  • 体面的选项卡完成(理想情况下,cwcc TAB 应该扩展为 call-with-current-continuation)。它甚至可能是基于符号表的(即,它不必立即注意到我在 alet中定义的函数)。
  • 小缓冲区中的函数参数提示(如果我输入了(map |)(光标位置由 指示|)),我想(map predicate . lists)在小缓冲区中查看
  • 将表格发送给口译员
  • 与调试器集成。

我按重要性降序排列了这些特征。

我选择的方案实现是:

  • Mz方案
  • 伊卡洛斯
  • 左撇子
  • 比格卢

如果它至少对他们有用,那就太好了。

4

9 回答 9

16

SLIME 的 contrib 目录似乎有 MIT Scheme 和 Kawa 的 SWANK 实现。

于 2008-09-21T14:01:02.240 回答
10

Geiser为 Scheme 提供了极好的环境。最新版本除了GuileRacket之外,现在还可以与Chez SchemeChibi SchemeChicken Scheme以及旧的备用MIT Scheme进行交互。我建议通过Melpa安装它,特别是为了获得最新版本来处理更广泛的 REPL 选择。

于 2015-03-11T22:48:50.493 回答
9

您也可以考虑 Scheme Complete:

http://www.emacswiki.org/cgi-bin/wiki/SchemeComplete

它基本上提供制表符补全。

于 2008-09-24T18:41:54.053 回答
7

一位评论员说:“DrScheme IDE 具有 emacs 键绑定”,它是一个备受推崇的 IDE,具有您明确列出的许多功能。

此外,Emacs 的方案模式提供了 SLIME 的一些功能 - 集成的 REPL,将表单发送到该 REPL 并加载整个文件的能力。据我所知,一般来说,对于您列出的方案,对于远程连接到正在运行的图像(与 Emacs 缓冲区中的方案 repl 相比)或调试器集成,没有等价物。

于 2008-09-25T02:50:25.707 回答
7

对于我使用 mzscheme 的工作,我通常使用 cmuscheme + quack,这几乎可以提供我在开发过程中需要的东西。

Bigloo 带有非常强大的蜜蜂模式。

对于 gauche,您可以使用 GCA 包,该包提供名称完成、功能描述显示和代码模板插入

更新:我在我的网站上发表了关于 Scheme + Emacs 集成的文章

于 2008-11-04T08:53:41.067 回答
6

嗯......我会说Slime for Scheme是最接近Slime for Scheme 的东西;)

于 2008-09-21T12:59:46.600 回答
6

您可以通过使用 swank-chicken 将鸡计划与粘液一起使用。

我建议看一下geiser模式,但它现在只支持 Racket 和 Guile,我在你的列表中没有看到。

于 2011-09-04T14:46:16.827 回答
4

我没用过,但你可以试试Quack with mzscheme.

不过,SLIME 很难被击败。在它的 SWANK 端有很多美好。

于 2008-09-23T17:46:36.910 回答
0

现在有一个名为r7rs-swank 的各种 Scheme 的 Slime 后端。

于 2021-09-26T14:10:59.837 回答