What is the difference between the evaluation of double and #'double in Clojure/Lisp?
1:2 user=> double
#<core$double__4077 clojure.core$double__4077@1acd47>
1:3 user=> #'double
#'clojure.core/double
What is the difference between the evaluation of double and #'double in Clojure/Lisp?
1:2 user=> double
#<core$double__4077 clojure.core$double__4077@1acd47>
1:3 user=> #'double
#'clojure.core/double
In Clojure, #'foo
is a shorthand for (var foo)
, which returns the variable object foo
refers to, as opposed to its value. Look it up in the reference:
I am not sure if you also want to know the meaning in Lisp: In Common Lisp, #'foo
is a shorthand for (function foo)
, which is used to access the function value bound to the name foo
when not in operator position.