最接近Slime for Scheme的东西是什么?

时间:2020-03-06 14:30:20  来源:igfitidea点击:

我的大部分开发工作都是在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集成的文章