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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With