我大部分的开发工作都是在Common Lisp中进行的,但有时候我想要切换到Scheme(例如阅读《Lisp in Small Pieces》时、当我想要玩转continuations时或者当我想要在Gauche中进行一些脚本编写时)。在这种情况下,我最不适应的地方是没有Slime(是的,你可以称呼我为一个上瘾者)。
那么Scheme中最接近Slime的东西是什么?特别是,我最感兴趣的是:
- Emacs集成(这一点很明显;)
- 良好的tab自动完成功能(理想情况下,c-w-c-c TAB能够扩展到call-with-current-continuation)。它甚至可以基于符号表(即它不必立即注意到我在let中定义的函数)。
- 在minibuffer中提示函数参数(如果我键入了
(map |)
(光标位置由|
指示),我希望在minibuffer中看到(map predicate . lists)
) - 向解释器发送表格达式
- 与调试器的集成
按重要性降序排列了这些功能。
我选择的Scheme实现是:
- MzScheme
- Ikarus
- Gauche
- Bigloo
- Chicken
希望至少能与它们中的一些实现兼容。