問題タブ [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.
emacs - Vistaでスライムの下でsbclを起動中にエラーが発生しました
SBCLをスライムの下で開始するのに問題があります。私は物事を台無しにしました、そして私は回復する方法を知りません。これは私が...
asdfを介したパッケージのロードに問題がありました。その時点で、SBCLに付属のasdf.lispのデバッグを開始して、何が問題になっているのかを確認しました。私が行った唯一の変更は、何が悪いのかがわかったら削除する(休憩)を入れることでした。次にSBCLを起動しようとするまでは、すべて問題ありませんでした。
次に、asdf.faslがasdf.lispファイルよりも古いというスワンクコンパイルエラーが発生しました。それは私には理にかなっているので、asdf.faslを再コンパイルしました。私が今得ている出力は次のとおりです。
そのため、再コンパイルしたasdfで必要なものが見つかりません。これを解決するために、SBCLの完全なアンインストールと再インストールを行いました。喜びはありません。.sbclrcにも何もありません。
更新:asdf.lispソースコードを表示すると、欠落している関数は間違いなくファイルにあります。それらがコンパイルされるのを妨げているのは、次のような行だと思います。
私のlispの知識は、現在、環境内でasdfファイルをコンパイルして、上記の条件付きコンパイルステートメントをトリガーするのに十分ではありません。
emacs - clojureソースファイルをEmacsで実行中のclojurereplに接続するにはどうすればよいですか?
現在、Tomcatコンテナで既存のJ2EE Webアプリに機能を追加している最中であり、Clojureを使用して追加を記述しています。私のセットアップは単純です。clojureによって生成された静的メソッドへの呼び出しを追加し、clojure側からすべてのハードワークをコーディングするだけです。ビルドプロセスは、clojureコード(lein uberjar
)をコンパイルしてから、クラスパス上のそのjarを使用してJavaコードをコンパイルすることで構成されます。
webapp initで、生成されたクラスを呼び出して、swankサーバーを。で起動します(swank/start-repl)
。Aquamacsのスライムをそのサーバーに接続し、そこからインタラクティブに作業できるようにしたいと思います(ある程度までは、Java側の再コンパイルを必要とするものは何も試しません)。でも、よくわからない状況があります。を実行する\M-x slime-connect
と、REPLプロンプトが表示されます(下位のlispプロセスがemacsの制御外で実行されているため、下位のlispプロセスがないことが通知された後は問題ないと思います)。フォームを完璧に評価でき、のようなものも検査できmy.own.namespace/my-var
ます。ただし、すでにコンパイル済みのclojureコードを含むファイルにアクセスすると、スライムにそのソースとして認識させることができないようです。単純なclojureファイルを考えてみましょう。
これがコンパイルされ、webappによってロードされたuberjarに含まれていると仮定すると、eval/inspectを実行できmy.namespace/*secret*
ます。しかし、コードバッファー内で評価しようとすると、Slimeは私がuser
名前空間にいると見なします(これは理にかなっていることさえあります!)。しかし、今では、ファイル内のすべてのフォームを1つずつ評価する必要がある単一の作業オプションが残っています。\C-c \C-l
(ソースファイルのロード)は何もしません-どうやらnilを返し、他には何も出力しないようです。すべてをコンパイルすると、まさにそれが行われるように見えます。コンパイルされ、見つかった場合はエラーが表示されますが、名前空間は変更されません。そして最も奇妙なのは\C-~
(syncパッケージとディレクトリ)で、Common Lispを使用して私が望むことを実行しますが、ここではclojureREPLを永久にフリーズします。
REPLに切り替えて入力する(in-ns 'my.namespace)
と、すべてが正しく機能するというオプションが常にあります。しかし、clojureファイルの数が増えている場合(コードバッファーの名前空間は自動的に変更されないため)、これは単に十分に実用的ではありません。
私の質問は、基本的なコマンド/構成が不足しているかどうか、またはこの動作がそのように発生する明らかな理由があるかどうかです。
clojure - emacs/slime を使用した他の Lisp/Scheme 実装に対する「lein swank」に相当するもの
私は Lisp のコーディングに emacs/slime を使用してきましたが、Clojure では「lein swank」を見つけました。clojure を実行するサーバーに接続できるので、かなり便利だと言わざるを得ません。
他のLispの実装はどうですか? Clojure の「lein swank」に相当するものを提供する Lisp 実装はどれですか? つまり、「Mx slime」だけでなく「Mx slime-connect」を使用できるように、サーバー接続を提供する他の Lisp 実装はありますか?
emacs - Aquamacs のセットアップなしで clojure が「Mx slime」で始まるのはなぜですか?
Mac で Aquamacs を実行しています。
Aquamacs 用のESK をインストールすると、ELPA が ~/.emacs.d/elpa にインストールされます。ELPA では、clojure-mode/clojure-est-mode/slime/slime-repl/swank-clojure をインストールしました。
問題は、「Mx slime」を実行すると、clojure が実行されることです。どうしてこれなの?私の .emacs や /Users/smcho/Library/Preferences/Aquamacs Emacs/{Preferences.el, customizations.el} にもスライムのセットアップがないので、興味があります。つまり、私は (setq Inferior-lisp-program "clojure") などを持っていません。
それとも、「swank-clojure」のインストールと関係がありますか? 私はinferior-lispバッファでこのようなものを見ます。
emacs - 「swank-clojure」は正確に何をしますか?「swank-SOMETHING_ELSE」はありますか?
私の表面的な理解は、「swank-clojure」が「Mx slime-connect」を可能にするということです。つまり、「lein swank」のような clojure サーバーへの接続を提供します。私の理解は正しいですか?そうでない場合、スワンクの目的は何ですか?
それでは、他の Lisp のような実装のための「swank-SOMETHING_ELSE」はありますか? たとえば、swank-clisp?
「Mx slime」で SLIME/Clojure を使用するには、「swank-clojure」が必要ですか?
追加した
このリンクはかなり便利だと思いました。
lisp - 変数 *、+、および / は SLIME または Clozure CL の最近の入力にバインドされていますか?
これを発見したとき、私はSLIME(Clozure REPLに接続)をいじっていました:
変数 +、*、および / はすべて、最近の入力の何らかのバリエーションにバインドされているように見えます。+ は入力自体、* はその入力を評価した結果、/ はリストに含まれる結果です。
これは正しいですか?SLIME と Clozure のどちらが責任を負っていますか? SLIME のマニュアルには何も見つかりませんでした。
ありがとう!
emacs - SLIMEには、スライムモードでLispコードのブロックにコメントするためのショートカットキーがありますか?
すべての行に手動でセミコロンを追加する必要はありません。
仕様:
アクアマック 2.1 (Emacs 23.2)
スライム 2010-11-16
MacPorts CLISP 2.49
Mac OS X 10.6.4
MacBook Pro 5,1
namespaces - clojureでは、名前空間から変数を定義解除するにはどうすればよいですか?
Clojure には、デフォルト値を定義する次のような行があります。
*http-port*
これらの種類の値を構成単位に形式化することにしました。この値をまだ参照している場所を見つけて、新しい値を使用するように変更できるように、値を未定義にしたいと思います。つまり、値を別の場所に移動することでリファクタリングを行っています。
私がこれを行ってきた方法は、スライムを終了してスライム セッションを再開することです。Maven のコンパイル フェーズ中に、このようなエラーが検出され、一度に 1 つの参照を見つけて修正できます。次に、エラーを修正し、すすぎを洗い、繰り返します。これは明らかにイライラします。
スライムセッションに接続しているときにこれを行うにはどうすればよいですか?
emacs - Common Lisp コードの構文が少し間違っていると SLIME/SWANK がクラッシュする
閉じ括弧を省略したり、間違った文字列エスケープ文字を使用したり、Haskell について考えたりすると、次のようになります。
1) ミニバッファエラーメッセージ
2) SLIME が動作しなくなります。
3) Inferior-lispエラー メッセージ:
Mx slime で SLIME を再起動し、Cc Ck でコードを再コンパイルすると、同じエラーが発生します。そうです、私はそれをオフにしてからもう一度オンにしようとしました。
仕様:
アクアマック 2.1 (Emacs 23.2)
アクアマック スライム
MacPorts CLISP 2.49
Mac OS X 10.6.4
MacBook Pro 5,1