スレッド マクロで使用する前に無名関数を定義すると、次のようになります。
(def even #(map even? %))
(-> [1 2 3] even)
正しい結果が得られます:
(false true false)
ただし、次のコードを評価すると:
(-> [1 2 3] #(map even? %))
次のエラーが表示されます。
clojure.lang.Compiler$CompilerException: java.lang.IllegalArgumentException: fn params must be Symbols
スレッド マクロ内で無名関数を使用できないのはなぜですか?