Ответ 1
SLIME и swake образуют архитектуру клиентского сервера для запуска и отладки программ lisp. SLIME является интерфейсом emacs, а swank - основой. Между ними создается сетевой сокет и обмениваются сообщениями (S-выражения). Короче говоря, это просто механизм RPC между emacs и фактическим бэкендом lisp.
Тот факт, что слизь и шик являются отдельными, связаны по сети и обмениваются сообщениями rpc, означает, что они могут быть где угодно. Таким образом, слизь может подключаться к удаленному хосту/порту, чтобы ошеломлять. Все остальные формы, которые вы видите (lein swank и т.д.), Делают то же самое. Они начинают опускаться на порт, позволяя удаленное соединение слизи.
swank- clojure - это порт w121 > swank. первоначально swank- clojure появился с вспомогательным elisp файлом под названием swank- clojure.el. Задача этого файла состояла в том, чтобы включить ручную настройку параметров swank, таких как classpaths, jvm parameters и т.д. Так как позже появились другие инструменты, такие как lein, swank-clojure.el был устаревшим. Но он по-прежнему живет в: http://github.com/vu3rdd/swank-clojure-extra и предоставляет проект Mx swank- clojure, который позволяет запускать swank в проекте lein.
Следует отметить, что SLIME возникла (и продолжает активно развиваться) Common Lisp. Infact, порт clojure имеет только подмножество функций, которыми пользуются оригинальные версии SLIME/swank. SLIME существует для всех основных вариантов Common Lisp. Для Схемы48 есть частичный порт. В каталоге contrib есть некоторые частичные реализации.
Если вы знаете, что swank уже запущен на порту, используйте slime-connect. Если вы просто хотите использовать слизь в проекте, swank- clojure -project и lein swank, похоже, идут по пути.