Slime for Scheme最接近的是什么?

时间:2008-09-21 12:34:21

标签: emacs lisp scheme common-lisp slime

我在Common Lisp中完成了大部分的开发工作,但是有些时候我想切换到Scheme(在小块中读取 Lisp ,当我想要继续播放时,或者当我想在Gauche中做一些脚本,例如)。在这种情况下,我不舒服的主要原因是我没有史莱姆(是的,你可能会称我为瘾君子)。

Scheme最接近史莱姆的是什么?具体来说,我最感兴趣的是:

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

我按重要性降序排列了这些功能。

我选择的Scheme实现是:

  • 的MzScheme
  • 的Ikarus
  • Gauche的
  • 中的bigloo

如果它至少与它们一起工作会很棒。

8 个答案:

答案 0 :(得分:16)

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

答案 1 :(得分:9)

Geiser为Scheme提供了一个很好的环境。除了Chez Scheme和{{3}之外,最新版本现在还可以与Chibi SchemeChicken SchemeMIT Scheme以及旧备用Guile互动}。我会通过Racket建议installing it,特别是为了获得处理更广泛的REPL选择的最新版本。

答案 2 :(得分:8)

您也可以考虑方案完成:

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

它基本上提供制表符完成。

答案 3 :(得分:7)

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

此外,Emacs的方案模式提供了SLIME的一些功能 - 集成的REPL,将表单发送到该REPL以及加载整个文件的功能。据我所知,对于你已经列出的方案,没有与远程连接到运行映像(相对于Emacs缓冲区中的方案repl)或调试器集成等内容等效的东西。

答案 4 :(得分:6)

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

答案 5 :(得分:6)

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

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

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

更新:我在我的网站上发布了article about Scheme + Emacs integration

答案 6 :(得分:6)

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

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

答案 7 :(得分:4)

我没有使用它,但您可以尝试Quackmzscheme

但是,SLIME很难被击败。在SWANK结尾有很多好处。