問題タブ [slime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
clojure - Clojure と Slime でバックトレースを修正する方法
私は、emacs とスライムをセットアップしようとしている clojure 初心者です。これを行う真の方法は 1 つではないようです。そのため、いくつかのブログ投稿と、swank-clojure および leiningen の README に従っています。
ほとんどの場合、それは機能します。私の問題は、バックトレースから再起動 0 [QUIT] を選択しようとすると、
「プロセス フィルタのエラー: 引数の数が正しくありません: nil、0」
(「Mx slime-connect」で、スライムとスワンクのバージョンが一致していないという警告も表示されますが、Google ではこれが予想されることを示唆しています)。
Debian レニーです。「git clone git://git.boinkor.net/slime.git」でスライムを入手しました。Clojure と clojure-contrib は 1.2.0 で、swank-clojure は 1.2.1 です。
これを見た人いますか?または、すべての部品の互換バージョンの最新リストはありますか? どうもありがとう。
編集:
おそらくこの問題のようです。そのスレッドの OP と同じブログ投稿に従いました。
編集:
はい。ELPAを使用してslimeおよびslime-replパッケージを取得すると修正されました。
linux - コンソールのSLIME
Common Lisp のコンソールで SLIME を使用した経験のある人はいますか? Practical Common Lisp を調べようとしていますが、本のコマンドは emacs/SLIME のコンソール バージョンでは機能しないようです。私の質問は次のとおりだと思います:コンソールでSLIME専用のドキュメントを見つけることができる場所はありますか? または、コンソールでのまったく異なるアプローチについての提案があれば、私はすべて耳にします。
emacs - Clojurereplで関数と変数の自動拡張またはオートコンプリートを行う方法
Common Lispでできるように、Clojure replで現在のコマンドを拡張する方法はありますか?
たとえば、次のように入力したとします。
タブキーを、その名前空間で使用可能なすべての変数と関数に展開したいと思います。
私はClojureを劣ったものとして使用しています-lispは、Clojureのプレーンなバニラreplから、そしてスワンクスライムを通してこれを行う方法を知りたいです。
emacs - スライムとinferior-lisp-programの質問を含むclojure.contrib
私はスライムreplから次のものを持っています(clojure.contib関数が見つかりません):
コンソールから clojure を起動すると、次のようになります (ただし、ここではすべて問題なく検出されています)。
私の .emacs には次のものがあります。
私の clojure jar (1.2) は「/home/adr/clojure/cloj-1.2」にあります。
私はemacsの初心者で、いくつかのチュートリアルに従っています。しばらくの間、Emacs の clojure.contrib ライブラリーを使おうとしてきましたが、「MX スライム」で clojure.contrib が見つかりません。助けてください
編集:それが役立つ場合、MXスライムを使用するとメッセージがあることがわかりました:
Edit2:しかし、ディレクトリで「lein swank」を開始した後にMX slime-connectを使用しても、そのようなエラーメッセージはありません(ただし、「MX slime-connect」で開始しても、REPLにはclojure-contribライブラリが見つかりません(ただし、依存関係として leiningen によってダウンロードされます))。
emacs - エラー Emacs slime: eval-buffer: Symbol's function definition is void: define-slime-contrib
Lisp (スライムを使用) で emacs を短時間使用しています...これは機能しますが、今日実行すると次のメッセージが表示されます。
eval-buffer: シンボルの関数定義が無効です: define-slime-contrib
これは、スライムの contrib フォルダーが見つからないということですか?
私の.emacsは災害です..これはごめんなさい...すべてのフォルダー内を検索すると、誰もが元気に見えます...
emacs - Windows /C++プログラマーのためのCommonLispのヒントを学ぶ
私は経験豊富なC++/。NET/Java Windows / Webプログラマーで、(Common)Lispを学ぼうとしています。私はPracticalCommonLispを読んでいて、 SLIMEを使用しています。
私はLisp言語を簡単に手に入れることができますが、開発の仕組みを理解するのに苦労しています。私の問題の1つは、Emacsの扱いです。私はそれを使った経験がなく、コマンドを見つけたり理解したりするのが難しいと一般的に混乱していると思います。
具体的な質問:
- REPLを取得しましたが、効果的に使用する方法がわかりません。関数を変更する必要があるときは、defunを再入力して変更を加える必要があります(面倒でエラーが発生しやすい)。どうすればこれをより良くすることができますか?
- REPLでコードを入力してから実際にプログラムを作成するにはどうすればよいですか?私は、レビュー、編集、再コンパイルできるコードファイルがあるCモデルに慣れています。Lispが(load関数を介して)似たようなものを持っていることは知っていますが、定義してテストしたばかりの関数をファイルに保存して保存するにはどうすればよいですか?現在のselect+copy+pasteよりも良い方法があることを願っています。
- エラーをどのようにデバッグしますか?他の言語と同じようにコードにステップインする機能はありますか?
- S式が有効である限り、。を入力してもエラーは発生しません
(defun ...)。それが無効であることがわかるのは、私がそれを使おうとするまではありません。エラーをより早く取得する(つまり、コードをコンパイルする)方法はありますか? - 私に馴染みのある、または言語でより簡単にプレイできるIDEはありますか?
- 代わりに学習スキームに切り替える必要がありますか?
ヒントをいただければ幸いです。
emacs - Slime-fancy (slime-autodoc) を使用した clojure と common lisp の両方の emacs セットアップ
私は clojure と common lisp の両方に emacs をセットアップしましたが、common lisp にも (slime-setup '(slime-fancy)) が必要です。その行を init.el に追加すると、clojure は機能しません。repl は表示されますが、コードを実行するとハングします。
私の構成
クロージュアの場合:
- ELPA経由でclojure-mode、slime、slime-replをセットアップしました
- プロジェクトディレクトリで $ lein swank を実行します
- 次に Mx slime-connect で clojure をハックします
一般的な Lisp の場合、init.el の ELPA コードの後にこれを配置します。
したがって、最後の行のコメントを外すと、clojure が壊れます。しかし、slime-fancy は、一般的な Lisp をハックするための非常に重要なメタ パッケージです。
言語を切り替える必要があるときに、構成を変更したり再起動したりせずに、両方を機能するように設定する方法はありますか?
アップデート
Slime-fancy をロードした slime-autodoc がハングの原因であることがわかりました。
この構成により、一般的な Lisp と clojure の両方の SLIME を実行できます。同時でも。ただし、slime-autodoc はありません。
また、ELPA コードの後に (add-to-list 'load-path "~/.elisp/slime") を手動で行っているため、SLIME の CVS バージョンを使用していることもわかりました。それで問題は解決しません。たぶん、clojureで動作するいくつかの魔法の日付からのバージョンがありますか? ここで、ある男が CVS バージョンが彼に適していると言っています: http://www.youtube.com/watch?v=lf_xI3fZdIg&feature=player_detailpage#t=221s
multithreading - swank/slime を使用して Clojure の出力を理解する
emacs で Swank repl から Clojure コードを実行すると、メイン スレッドは printf を使用してメッセージを repl に出力します。しかし、エージェントを実行したり、印刷も行う他のスレッドを明示的に作成したりすると、出力が表示されないこともあれば、Swank を実行しているコンソール ウィンドウに表示されることもあります。理由を理解したいです。
編集:以下のダニエルの回答のおかげで、他のスレッドがREPLの出力にバインドされていないことがわかりました。このコードは、実行元からoutを渡すため機能します。ただし、私の新しい問題は、このコードがスレッドごとにブロックされるようになったため、並列で実行するのではなく、一度に各スレッドを実行するため、よりスレッドに対応した出力メソッドが必要なことです。
emacs - emacs/slime セットアップの何が問題になっていますか (コンパイルとロード/評価が機能しない)?
emacs を実行して、slime を ( でM-x slime) 起動できます。この時点で、inferior-lispバッファーに REPL を取得し、そこで lisp を実行できます。しかし、私が別のバッファでLispコードを開くと、スライムの良さはどれも機能せず(など)、メッセージバッファにこれが表示され続けC-x C-eます(カウント数が増加します):C-c C-k
slime-connection: 接続されていません。
Polling "/var/folders/B9/B9B5J15dH+aNt5J5gkROEk+++TI/-Tmp-/slime.3202".. (`Mx slime-abort-connection' で中止) [69 回]
Slime が正しい Lisp インタープリターに接続していないと思いますが、私は emacs と Lisp に非常に慣れていないため、ここで立ち往生しています。私のセットアップは次のとおりです。
- Mac OSX Snow Leopard
- GNU Emacs 23.2
- emacs-スターターキット
- わずかなカスタマイズ: arnab.elおよびarnab/ の下のファイル
emacs - SLIME キーの再マッピング
Slime は、私が好んで使用し、global-set-key に設定したいくつかのキーを再マップします。
Slime.el を直接編集することは避けたいと思います。
特定のモードでキーをオーバーライドするルーチンは何ですか?
アップデート:
.emacs で、mode-map を直接設定します。