Что делает «^: static» в Clojure?

Я видел ^: static метаданные довольно многих функций в исходном коде Clojure core.clj , например, в определении seq? :

(def
 ^{:arglists '([x])
   :doc "Return true if x implements ISeq"
   :added "1.0"
   :static true}
 seq? (fn ^:static seq? [x] (instance? clojure.lang.ISeq x)))

Что именно делают эти метаданные и почему они используются так часто в core.clj ?

33
задан Zaz 29 July 2016 в 07:38
поделиться