Clojure で Java のライブラリをつかう際にどうしても付き纏うのが型ヒント (type hinting) です.関数のコンパイル時にメソッドを解決できなければ, リフレクションにより実行時に解決することになります.無理矢理な例ですが, user> (defn len [x] (.length x)) Reflection warning, ... .clj:1:15 - reference to field length can't be resolved. #'user/len user> (len "Hello World") 11 この例では length() メソッドのレシーバを解決できずに reflection warning 怒られています.怒られないようにするためには, user> (defn len [^String s] (.length s)) #'user/

