Se você deseja definir um método no bar
genérico do pacote foo, use (defmethod foo: bar (…)
(Defmethod Bar () …).Vamos apontar um erro comum ao referenciar funções: (citação f)
(abreviado como ‘f) produz um símbolo enquanto (função f) (abreviado como
#’F) produz uma função.Os desenvolvedores geralmente estão mais familiarizados com o Defpackage, um
macro permitindo a criação de um pacote e sua configuração (uso do pacote
Lista, símbolos importados e exportados, etc.) Lembre -se de passar uma função (e não um símbolo)
como as classes genéricas e passadas (e não símbolos de nomeação
Lista de especializadores.Lembre -se de se referir ao símbolo certo: para
Remova a barra de símbolo do pacote Foo, use (bar “bar” inintern ‘foo :: “bar”).
Fonte: https://www.n16f.net/blog/interactive-common-lisp-development/