No Emacs Lisp, se foo
é um símbolo, então 'foo
e #'foo
é completamente equivalente. A última forma (com #'
) é preferida quando foo
é uma função, pois documenta o fato de que se destina a ser funcionalizada.
Suas duas formas são, portanto, completamente equivalentes e a que #'
é preferida.
Edit : como apontado por Malabarba, isso não é bem verdade: #'
nos símbolos, o byte-compiler emitirá um aviso se a função não estiver definida.
(Observe que este não é o caso das formas lambda, para as quais a planície '
impede que o compilador de bytes compile a forma lambda, conforme documentado em outro lugar . Observe também que esse também não é necessariamente o caso em outros dialetos Lisp, por exemplo, em O Lisp comum #'foo
executa ligação antecipada.)