macros common-lisp

macros - En Common Lisp, ¿cómo definir una macro expandiéndose a nada(en lugar de `nil`)?



common-lisp (2)

Quiero definir una macro que pueda comentar una expresión s, por ejemplo:

espero que

(list 1 2 (comment-macro (something))) -> (1 2)

Pero si defino la macro como esta

(defmacro comment-macro (x))

el resultado de la forma anterior es en realidad

(1 2 nil)


En Common Lisp, no hay forma de definir una macro que se expande a nada. El valor primario devuelto por la macro (es decir, la función de macro ) siempre se inserta en lugar de la macro llamada.