最接近Slime for Scheme的东西是什么?
我的大部分开发工作都是在Common Lisp中进行的,但是有些时候我想切换到Scheme(在阅读Small Lisp中的Lisp时,当我想使用延续时,或者当我想在Gauche中编写一些脚本时,例子)。在这种情况下,我主要的不适感是我没有史莱姆(是的,我们可能称我为瘾君子)。
Scheme与Slime最接近的对应词是什么?具体来说,我最感兴趣的是:
- Emacs集成(这一点很明显;)
- 良好的制表符补全(理想情况下,c-w-c-c TAB应该扩展为"当前通话")。它甚至可能基于符号表(即不必注意到我一次在" let"中定义的函数)。
- 函数参数在迷你缓冲区中提示(如果我输入了
(map |)
(光标位置由|
表示)),我想在迷你缓冲区中看到(map predicate .list)
。 - 发送表格给口译员
- 与调试器集成。
我按重要性降序排列了功能。
我选择的Scheme实现是:
- MzScheme
- 伊卡鲁斯
- 高奇
- 比格鲁
- 鸡
如果它至少与他们合作,那将是很棒的。
解决方案
好吧...我想说,Slime for Scheme最接近于Slime for Scheme;)
SLIME的contrib目录似乎具有针对MIT Scheme和Kawa的SWANK实现。
我还没有用过,但是我们可以尝试使用带有mzscheme的Quack。
SLIME很难被击败。 SWANK末尾有很多好处。
我们可能还认为计划已完成:
http://www.emacswiki.org/cgi-bin/wiki/SchemeComplete
它基本上提供了制表符补全功能。
一位评论员说:" DrScheme IDE具有emacs键绑定",它是备受推崇的IDE,具有我们明确列出的许多功能。
此外,Emacs的scheme-mode提供了SLIME集成REPL的一些功能,可以向该REPL发送表单并加载整个文件。据我所知,对于我们列出的方案,通常没有等效的功能,例如远程连接到运行中的映像(相对于Emacs缓冲区中的方案repl)或者调试器集成。
对于我与mzscheme的合作,我通常使用cmuscheme + quack,它几乎提供了我在开发过程中所需的东西。
Bigloo具有非常强大的蜜蜂模式。
对于gauche,我们可以使用GCA软件包,该软件包提供名称完成,功能描述的显示和代码模板的插入
更新:我在我的网站上发表了有关Scheme + Emacs集成的文章