私はライニンゲンプロジェクトをセットアップしています。Clojure ソース ファイルの 1 つで、いくつかのレコードを定義しました。私のワークフローは通常、emacs を起動して「lein swank」REPL に接続することです。REPL に接続したら、適切な名前空間に切り替えてファイルを Cc Ck します。これで、REPL とファイル内のコードの操作を開始できます。しかし、そのファイルのレコードに変更を加えて Cc Ck しても、REPL は変更を反映しません。
したがって、現状では、レコードに変更を加える必要があるたびに、lein swank プロセスを停止して再起動し、emacs から再接続する必要があります。これは非常に急速に古くなります。私は何が欠けていますか?Cc Ck の代わりに Cc Cl を試しましたが、うまくいきません。プロジェクトルートの「クラス」ディレクトリを削除しようとしましたが、それもダメです。
洞察や推奨事項をいただければ幸いです。
また、余談ですが、私は常にレコードが定義されている名前空間で作業しています。
編集:私は実際に defrecord のプロトコルの実装を変更しています。それを変更して Cc Ck を使用してコンパイルし、REPL に新しいレコードを作成すると、REPL はまだ古いプロトコル実装を使用しています。