unj2
unj2

Reputation: 53491

What is the difference between procedure and #'procedure in Lisp/Clojure?

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

Upvotes: 5

Views: 407

Answers (1)

Svante
Svante

Reputation: 51501

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.

Upvotes: 6

Related Questions