Что ближе всего подходит к Slime для Scheme?
-
02-07-2019 - |
Вопрос
Большую часть своей разработки я делаю на Common Lisp, но бывают моменты, когда мне хочется переключиться на Scheme (во время чтения Шепелявить небольшими кусочками, когда я хочу поиграть с продолжениями, или когда я хочу написать несколько сценариев в Gauche, например).В таких ситуациях мой главный источник дискомфорта заключается в том, что у меня нет Слизи (да, вы можете называть меня наркоманом).
Какой самый близкий аналог Scheme для Slime?В частности, меня больше всего интересуют:
- Интеграция с Emacs (этот момент очевиден ;))
- Достойное завершение вкладки (в идеале вкладка c-w-c-c должна расширяться до вызова с текущим продолжением).Это может быть даже таблица символов, основанная (т.е.ему не обязательно замечать функцию, которую я определил в
let
сразу же). - Подсказки аргумента функции в минибуфере (если я ввел
(map |)
(положение курсора обозначается символом|
)), я бы хотел посмотреть(map predicate . lists)
в минибуфере - Отправка форм переводчику
- Интеграция с отладчиком.
Я упорядочил функции по убыванию важности.
Мои варианты реализации схемы на выбор следующие:
- Схема MZ
- Икарус
- Gauche
- Биглу
- Цыпленок
Было бы здорово, если бы это сработало хотя бы с ними.
Решение
Вы также можете считать Схему Завершенной:
http://www.emacswiki.org/cgi-bin/wiki/SchemeComplete
Это в основном обеспечивает завершение табуляции.
Другие советы
В каталоге contrib SLIME, похоже, есть шикарные реализации для MIT Scheme и Kawa.
Гейзер обеспечивает отличные условия для разработки Схемы.Последняя версия теперь также может взаимодействовать с Схема Chez, Схема Чиби, Схема Приготовления Цыпленка так же , как и тот старый резервный MIT Scheme, в дополнение к Коварство и Рэкет.Я бы предложил установка его через Мелпа, специально для того, чтобы получить последнюю версию, обрабатывающую гораздо более широкий выбор повторов.
Один комментатор сказал:"DrScheme IDE имеет привязки клавиш emacs", и это высоко оцененная IDE со многими функциями, которые вы явно перечислили.
Кроме того, scheme-mode для Emacs предоставляет некоторые функции SLIME - интегрированный REPL, возможность отправлять формы в этот REPL и загружать целые файлы.Насколько я знаю, в общем случае для схемы, которую вы перечислили, нет эквивалента для таких вещей, как удаленное подключение к запущенному образу (по сравнению с повторением схемы в буфере Emacs) или интеграция с отладчиком.
Что ж...Я бы сказал Слизь для схемы это самая близкая вещь к Slime для Scheme ;)
Для моей работы с mzscheme я обычно использую cmuscheme + quack, которые предоставляют почти то, что мне нужно во время разработки.
Bigloo поставляется с очень мощным bee-режимом.
А для gauche вы можете использовать пакет GCA, который обеспечивает заполнение имен, отображение описаний функций и вставку шаблонов кода
Обновить:Я опубликовал статья об интеграции Scheme + Emacs на моем сайте
Вы можете использовать схему приготовления курицы со слизью, используя шикарную курицу.
Я бы предложил взглянуть на гейзер режим, но прямо сейчас он поддерживает только Racket и Guile, которых я не вижу в вашем списке.
Я им не пользовался, но вы могли бы попробовать Шарлатан с mzscheme
.
Однако победить СЛИЗЬ довольно трудно.В ШИКАРНОМ конце этого фильма происходит много приятного.