Slime for Scheme最接近的是什么?

Rys*_*opa 44 lisp emacs scheme common-lisp slime

我在Common Lisp中完成了大部分的开发工作,但是有些时候我想切换到Scheme(在Small Pieces中读取Lisp,当我想要使用continuation时,或者当我想在Gauche中执行一些脚本编写时,例).在这种情况下,我不舒服的主要原因是我没有史莱姆(是的,你可以称我为瘾君子).

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

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

我已经通过降低重要性来命令这些功能.

我的Scheme实现选择是:

  • 的MzScheme
  • 的Ikarus
  • 左岸
  • 中的bigloo

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

Luí*_*ira 16

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


haz*_*ziz 9

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


小智 8

您也可以考虑方案完成:

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

它基本上提供了tab-completion.


Kyl*_*ton 7

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

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


dsm*_*dsm 6

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


Ale*_*Ott 6

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

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

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

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


kan*_*nak 6

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

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