2012-08-09 10 views
6

私はしばしば自分自身がREPLから長い実行プロセスを開始していることがわかります。 スライムを使用して現在のスレッドをバックグラウンドにしたり、新しいREPLコントロールスレッドを開始することはできますか?追加のREPLバッファを起動することも問題ありません。Slime(Swank Emacs)で実行中のスレッドをバックグラウンドにすることができます

答えて

2

編集:

フム、私は何とかあなたの質問にClojureのタグを逸しました。 Clojureコミュニティは残念ながら(少なくともClojure CLを使用しているユーザーのために)、独自のバージョンのSlimeを維持しているため、ClojureコミュニティがClojureのために働いていたのは非常に驚きです。私はこの機能を探しているCLプログラマーにとって役立つかもしれないので、答えを削除しません。

シングルソケット上で多重化、複数のREPLsを可能にClojureのための同様のソリューションは、存在しなければ、あなたは多分ちょうど(*inferior-lisp*バッファから)手で二スワンクサーバを起動し、回避策としてslime-connectを経由して、それに接続することができました。 (私はしばらく前にClojureのでスライムを使用して停止するので、このATMをテストすることはできません。)


あなたはslime-mrepl寄贈を試してみましたか?私は実際にそれを自分自身を使用していないが、簡単なテストは、CCL /勝利/ Emacsの下に私のために24

を働いていた私はこのようにそれをテストした:M-x slime、REPLで(sleep 10)を入力し、スイッチバッファ、M-x slime-new-mrepl

2

私には、やや滑らかで非粘液の特定の答えを許してください。それはどんなclojure REPLでもうまくいくでしょう。

私が事前に知っているのは、REPLから長い実行タスクを開始してから、futureを使用して計算を開始し、それを参照する前にfuture-done?で確認します。

+0

これは直接この騒音に対する答えではない場合でも、ありがとう –

1

これは、あなたの質問に答えられないかもしれないが、限り(slime-communication-style)としてはC-x C-eを使用して行われた評価は、常に自分自身のスレッドを生成し、REPLスレッドで起こっている何に並列に実行することができ、:spawnであることを認識することが役に立つかもしれません。出力(printlnなど)がREPLバッファに表示されます。

関連する問題