Question

J'utilise emacs/slime pour coder Lisp, mais avec Clojure, j'ai trouvé « lein swank ».Je dois dire que c'est plutôt utile, car je peux me connecter à un serveur qui exécute Clojure.

Qu’en est-il des autres implémentations Lisp ?Quelles implémentations Lisp fournissent l'équivalent de « lein swank » dans Clojure ?Je veux dire, existe-t-il d'autres implémentations Lisp qui fournissent une connectivité au serveur afin que j'utilise « M-x slime-connect », pas seulement « M-x slime » ?

Était-ce utile?

La solution

Non-clojure Swank backends ne pas besoin d'un lein Swank équivalent car ils peuvent lancer simplement une instance de Lisp et changer sa charge de chemin lors de l'exécution pour le faire fonctionner pour un projet donné. Cette approche ne fonctionne pas avec Clojure depuis le classpath de la machine virtuelle Java ne peut pas être modifiée lors de l'exécution.

Autres conseils

Je ne sais pas clisp, mais c'est ce que j'ai pour SBCL. Cette coexiste avec ma configuration clojure Swank ainsi. Je ne pas utiliser ELPA et ont plutôt une configuration entièrement manuel.

(add-to-list 'load-path "~/src/slime")
(require 'slime)
(add-to-list 'slime-lisp-implementations '(sbcl ("/usr/local/bin/sbcl")))
(setq slime-default-lisp 'sbcl)

J'ai compilé une main SBCL. Je vois un backend Swank pour CLISP dans la fange CVS codeBase, donc je suppose que, en changeant la boue par défaut-Lisp et Slime-Lisp implémentations Clisp probablement tout marchera bien.

lein Swank existe principalement pour le démarrage port Swank sur un projet particulier. Cela est nécessaire parce que classpaths JVM ne peuvent pas être modifiés lors de l'exécution. Donc, nous commençons avec java classpaths mis à nos répertoires de projet et les dépendances à l'aide lein Swank ou Swank-clojure-projet. Avec CL, ce n'est pas nécessaire, comme des chemins peuvent être modifiés lors de l'exécution.

J'ai posté le fichier de configuration complet à: http://github.com/vu3rdd/dotfiles

Je serai heureux d'aider la mise en place d'un emacs entièrement manuel / boue / configuration Swank.

Vous pouvez charger swank manuellement dans CL et démarrer le serveur (slime/swank ont ​​été créés pour CL après tout).

Feu la mise en œuvre Lisp, charge Swank (via Quicklisp , par exemple), et exécutez swank:create-server:

CL-USER(1): (ql:quickload "swank")
;; ...
CL-USER(2): (swank:create-server)
;; Swank started at port: 4005.
4005

Si vous souhaitez spécifier un autre port, vous pouvez le faire en utilisant l'argument de mot-clé :port:

CL-USER(3): (swank:create-server :port 4123)
;; Swank started at port: 4123.
4123

Notez que depuis le protocole tend à changer entre les versions, vous devez vous assurer que vous n'utilisez des versions très différentes de Slime Swank. Pour Common Lisp, je tends à utiliser les versions de Quicklisp en mettant quelque chose comme ce qui suit dans mon .emacs, selon la version de BOUE actuellement disponible en Quicklisp:

(add-to-list 'load-path "~/quicklisp/dists/quicklisp/software/slime-20111105-cvs")
(add-to-list 'load-path "~/quicklisp/dists/quicklisp/software/slime-20111105-cvs/contrib")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top