Erro básico da macro Lisp
Pequena ajuda aqui, por favor. Estou tentando criar essa macro lisp que pega uma lista (de números) como entrada e retorna a soma desses números. O código
(setf g (list 1 2 3 4))
(defmacro add-test(var)
`(+ ,@var))
(add-test g)
dá esse erro
The value G is not of type LIST.
[Condition of type TYPE-ERROR]
Ao mesmo tempo(add-test (1 2 3 4))
dá o resultado correto que é 10.
Você pode explicar, por que não está funcionando quando a variável é passada para a função?
Outros detalhes -
Lispbox - SBCL
Ubuntu Linux
desde já, obrigado