O quote-quote (hash-quote, # ') no Clojure está executando as funções de resolução e símbolo?
Talvez você possa me ajudar a encontrar isso nos documentos. Eu estou usando pound-quote para poder passar nomes de funções não avaliadas antes da execução. Por exemplo:
(#'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
Meu palpite é que isso é uma macro de leitura.
Minha pergunta é (a) Qual é a abreviação de cotação em libras (# ')? (b) Você pode explicar o que está fazendo? (c) Você pode localizá-lo nos documentos? (d) É realmente uma abreviação para funções de resolução e símbolo?
PS - Para aqueles que não estão nos EUA - # também é conhecido como 'hash' ou 'cross-hash'.
PPS - Estou ciente de que meu exemplo torna a necessidade disso um tanto redundante. Estou interessado em saber se isso é completamente redundante ou se há casos de uso específicos.