質問

私はLISPをコーディングするためにEMACS/SLIMEを使用していましたが、Clojureで「Lein Swank」を見つけました。 Clojureを実行するサーバーに接続できるため、かなり便利だと言わなければなりません。

他のLISP実装はどうですか? Clojureで「Lein Swank」に相当するLISP実装は何ですか?つまり、サーバー接続を提供する他のLISP実装は、「MX Slime」だけでなく「MX Slime-Connect」を使用するようにしていますか?

役に立ちましたか?

解決

非クロイアスワンクバックエンドは、LISPインスタンスを起動し、実行時にロードパスを変更して特定のプロジェクトで機能させることができるため、Lein Swankに相当する必要はありません。 JVMのクラスパスは実行時に変更できないため、このアプローチはClojureでは機能しません。

他のヒント

私はCLISPについては知りませんが、これは私がSBCLのために持っているものです。これは、私のClojure Swankセットアップとも共存しています。私はELPAを使用せず、代わりに完全に手動でセットアップします。

(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)

私はSBCLを編集した手を持っています。 Slime CVSコードベースのCLISPのスワンクバックエンドが表示されているので、CLISPにスライムデフォルトリスプとスライムリスプの実装を変更すると、おそらく機能するでしょう。

Lein Swankは、主に特定のプロジェクトでSwank Portを開始するために存在します。 JVMクラスパスは実行時に変更できないため、これが必要です。そのため、Lein SwankまたはSwank-Clojure-Projectを使用して、プロジェクトディレクトリと依存関係に設定されたClassPathsからJavaを開始します。 CLでは、パス名を実行時に変更できるため、これは必要ありません。

完全な構成ファイルを次のように投稿しました。 http://github.com/vu3rdd/dotfiles

完全なマニュアルEMACS/SLIME/SWANKセットアップのセットアップをお手伝いします。

SwankをCLに手動でロードしてサーバーを起動できます(結局、CLのためにSlime/Swankが作成されました)。

LISPの実装を起動し、SWANKをロードします(経由 QuickLisp, 、たとえば)、そして実行します swank:create-server:

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

別のポートを指定する場合は、 :port キーワード引数:

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

プロトコルはバージョン間で変更される傾向があるため、SlimeとSwankの非常に異なるバージョンを使用していないことを確認する必要があることに注意してください。一般的なLISPの場合、私は次のようなものを自分に入れることにより、QuickLispのバージョンを使用する傾向があります .emacs, 、QuickLispで現在利用可能なSLIMEのバージョンに応じて:

(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")
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top