4

私は Lisp のコーディングに emacs/slime を使用してきましたが、Clojure では「lein swank」を見つけました。clojure を実行するサーバーに接続できるので、かなり便利だと言わざるを得ません。

他のLispの実装はどうですか? Clojure の「lein swank」に相当するものを提供する Lisp 実装はどれですか? つまり、「Mx slime」だけでなく「Mx slime-connect」を使用できるように、サーバー接続を提供する他の Lisp 実装はありますか?

4

4 に答える 4

4

clojure 以外の swank バックエンドは、それに相当する lein swank を必要としません。これは、Lisp インスタンスを起動し、実行時にそのロード パスを変更して、特定のプロジェクトで機能させることができるためです。JVM のクラスパスは実行時に変更できないため、このアプローチは Clojure では機能しません。

于 2010-08-23T16:59:29.640 に答える
2

私はclispについて知りませんが、これは私がSBCLに対して持っているものです。これは、私のclojureswankセットアップとも共存します。私は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のスワンクバックエンドが表示されているので、slime-default-lispとslime-lisp-implementsをclispに変更するとおそらくうまくいくと思います。

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

完全な設定ファイルをhttp://github.com/vu3rdd/dotfilesに投稿しました

完全に手動のemacs/slime/swankセットアップのセットアップを喜んでお手伝いします。

于 2010-08-23T20:51:46.353 に答える
1

swank を CL に手動でロードして、サーバーを起動することができます (結局、slime/swank は CL 用に作成されました)。

于 2010-08-23T15:42:20.460 に答える
0

Lisp 実装を起動し、Swank を (たとえばQuicklispswank: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 を使用していないことを確認する必要があることに注意してください。Common Lisp の場合、.emacsQuicklisp で現在利用可能な SLIME のバージョンに応じて、次のようなものを my に追加して、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")
于 2012-02-17T08:50:10.760 に答える