(function? x)
Returns true if argument is a function or a symbol that resolves to a function (not a macro).
user> (defn foo [] (println "foo"))
#'user/foo
user> (def bar "bar")
#'user/bar
user> (clojure.test/function? foo)
true
user> (clojure.test/function? bar)
false