Führt Pfund-Anführungszeichen (Hash-Anführungszeichen, # ') in Clojure die Auflösungs- und Symbolfunktionen aus?

Vielleicht können Sie mir helfen, dies in den Dokumenten zu finden. Ich verwende Pfund-Anführungszeichen, um unbewertete Funktionsnamen vor der Ausführung weitergeben zu können. Zum Beispiel:

(#'cons 1 ())
;(1)

(defn funcrunner [func a b]
  (func a b))

(funcrunner cons 'a ())
;(a)

(funcrunner 'cons 'a ())
'()

(funcrunner #'cons 'a ())
;(a)

#'cons
;#'clojure.core/cons

(resolve (symbol 'cons))
;#'clojure.core/cons

Ich vermute, dass dies ein Reader-Makro ist.

Meine Frage lautet: (a) Wofür steht die Kurzform des Pfund-Zitats (# ')? (b) Können Sie erklären, was es tut? (c) Können Sie es in den Dokumenten finden? (d) Ist es tatsächlich eine Abkürzung für Auflösungs- und Symbolfunktionen?

PS - Für diejenigen, die nicht in den USA sind - # wird auch als "Hash" oder "Cross-Hash" bezeichnet.

PPS - Ich bin mir bewusst, dass mein Beispiel die Notwendigkeit für diese etwas überflüssig macht. Ich bin interessiert zu wissen, ob dies vollständig redundant ist oder ob es bestimmte Anwendungsfälle gibt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage