In the book \"Programming Clojure\" (Halloway, S., (2009). Programming Clojure. Raleigh, NC: Pragmatic Bookshelf.) he shows type hints using the syntax
(defn
Both are, but in different versions of Clojure: beginning with the 1.2 release, #^ syntax for reader metadata (in particular, type hints) is deprecated and ^ is to be used instead. Note that #^ still works in 1.2; also note that ^foo was shorthand for (meta foo) prior to 1.2, so you have to use the old notation if you use an older release.