I read the following line in this Clojure tutorial - http://java.ociweb.com/mark/clojure/article.html#Macros
'Since macros don't evaluate their arguments, unquoted function names can be passed to them and calls to the functions with arguments can be constructed. Function definitions cannot do this and instead must be passed anonymous functions that wrap calls to functions.'
If it is correct, then why does this work since the function cube is not anonymous-
(defn something [fn x]
(fn x))
(defn cube [x]
(* x x x))
(something cube 4)
cube
tosomething
, not just its name. – SK-logic