Что ближе всего к Slime for Scheme?

Я делаю большую часть своей разработки на Common Lisp, но бывают моменты, когда я хочу переключиться на Scheme (во время чтения Маленькими кусочками lisp, когда я хочу поиграть с продолжениями или когда я хочу например, написать несколько сценариев в Gauche). В таких ситуациях мой основной источник дискомфорта в том, что у меня нет Slime (да, вы можете называть меня наркоманом).

Что является ближайшим аналогом Scheme к Slime? В частности, меня больше всего интересует:

  • Интеграция с Emacs (этот момент очевиден ;))
  • Достойное завершение табуляции (в идеале, c-w-c-c TAB должен расширяться до call-with-current-continuation). Он может быть даже основан на таблице символов (т. е. он не должен сразу замечать функцию, которую я определил в let).
  • Подсказки аргумента функции в минибуфере (если я набрал (map |) (позиция курсора обозначена |)), я бы хотел видеть (map predicate . lists) в минибуфере
  • Отправка форм переводчику
  • Интеграция с отладчиком.

Я упорядочил функции по убыванию важности.

Мои предпочтительные реализации схемы:

  • МзСхема
  • Икарус
  • Гош
  • Биглу
  • Курица

Было бы здорово, если бы это работало хотя бы с ними.


person Ryszard Szopa    schedule 21.09.2008    source источник
comment
комментарий, а не ответ - вы, вероятно, уже это знаете, но в DrScheme IDE есть привязки клавиш emacs, завершение с помощью табуляции (хотя и не с помощью табуляции), встроенная документация, отладчик и множество других инструментов.   -  person Stephen    schedule 24.09.2008


Ответы (8)


Вы также можете считать, что схема завершена:

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

Это в основном обеспечивает завершение табуляции.

person Hungryhugo    schedule 24.09.2008

В каталоге contrib SLIME, похоже, есть реализации SWANK для MIT Scheme и Kawa.

person Luís Oliveira    schedule 21.09.2008

Geiser обеспечивает отличную среду для Scheme. Последняя версия теперь также может взаимодействовать с Chez Scheme, схема чиби, схема цыпленка а также старую резервную схему MIT, в дополнение к Коварство и Рэкет . Я бы предложил установить его через Melpa, специально для того, чтобы последняя версия работала с гораздо более широким набором REPL.

person haziz    schedule 11.03.2015

Комментатор сказал: «DrScheme IDE имеет привязки клавиш emacs», и это высоко оцененная IDE со многими функциями, которые вы явно перечислили.

Кроме того, схема-режим для Emacs предоставляет некоторые функции из SLIME — интегрированный REPL, возможность отправлять формы в этот REPL и загружать целые файлы. Насколько я знаю, в целом нет эквивалента для схемы, которую вы перечислили, для таких вещей, как удаленное подключение к работающему образу (в отличие от схемы repl в буфере Emacs) или интеграция с отладчиком.

person Kyle Burton    schedule 25.09.2008

Ну... я бы сказал, что Slime for Scheme ближе всего к Slime for Scheme ;)

person dsm    schedule 21.09.2008
comment
Да, конечно, я видел Slime48. Однако (а) он работает только с Scheme48, (b) только с более старой версией Scheme 48. Однако вы правы, я должен был упомянуть в вопросе о моих предпочтительных реализациях Scheme (я отредактировал его соответствующим образом). - person Ryszard Szopa; 24.09.2008

Для моей работы с mzschime я обычно использую cmuscheme + quack, которые дают почти то, что мне нужно во время разработки.

Bigloo поставляется с очень мощным пчелиным режимом.

А для неуклюжего вы можете использовать пакет GCA, который обеспечивает завершение имен, отображение описаний функций и вставку шаблонов кода.

Обновление: я опубликовал статью о Scheme + Интеграция с Emacs на моем сайте

person Alex Ott    schedule 04.11.2008

Вы можете использовать Chicken Scheme со слизью, используя swank-chicken.

Я бы посоветовал взглянуть на режим гейзера, но сейчас он поддерживает только Racket и Guile, чего я не вижу на ваш список.

person kanak    schedule 04.09.2011
comment
На данный момент Гейзер заявляет о поддержке не только Racket and Guile: github.com/ jaor/geiser#требования. Это также упоминается в ответе @haziz: stackoverflow.com/a/28998868/2636454. - person GDP2; 12.11.2016

Я не использовал его, но вы можете попробовать Quack с mzscheme.

Тем не менее, SLIME довольно сложно победить. В конце SWANK происходит много приятного.

person jfm3    schedule 23.09.2008