これが有効な理由:
(= '(:anything :goes :here) (filter (fn [x] true) '(:anything :goes :here)))
しかし、これではありませんか?
(= (:anything :goes :here) (filter (fn [x] true) '(:anything :goes :here)))
また
(= (:anything :goes :here) (filter (fn [x] true) (:anything :goes :here)))
あるいは
(= '(:anything :goes :here) (filter (fn [x] true) (:anything :goes :here)))
フィルタリングする 2 番目の引数が単純なリストではなく引用符付きリストである特定の理由はありますか?
user=> (filter (fn [x] true) (:abc :def :ghi))
IllegalArgumentException Don't know how to create ISeq from: clojure.lang.Keyword clojure.lang.RT.seqFrom (RT.java:505)
実際のところ、正確にリストが関数呼び出しでもある場合はまだわかりません。引用に関連しているようです。空のリストでない限り、すべての「プレーンリスト」を引用する必要がありますか?