私の clojure コードには、カスタム マクロの呼び出しで作成された関数がいくつかあります。通常、マクロは何らかのデータ構造を取り、そこからメソッドを作成します。
これは不自然な例です:
(create-function {:name "view-data" ...})
と呼ばれる新しい関数を作成しますview-data
。(私のデータベース クエリはデータ駆動型なので、特定のクエリを呼び出すわかりやすい名前の関数を作成できます)
私の問題は、mvn clojure:swank
ターゲットを実行して emacs からスライム セッションに接続すると、これらの関数が表示されないことです。C-c C-k
関数を作成するには、ファイルにアクセスして自分でコンパイルする必要があります。
maven の出力は、ファイル自体は正常にコンパイルされることを示唆していますが、スライム セッションは関数について認識していません。
なぜこれが起こっているのでしょうか?