Re:Challenging Clojure in Common Lisp (2014)
by abc_lisper on Sunday January 08, 2017 @01:18PM
(#13351077)
I think you meant to say,
(defn func[o n] (.write ^WriteInterface o ^long n))
This is needed only when calling Java methods, because Java allows overloading. Clojure only does arity-overloading, not type overloading, and hence doesn't need the type info.
(defn [^WriteInterface o ^long n] (.write o n)) can be much faster because the compiler knows the type of o & n.