从lisp宏显示生成的代码

时间:2012-06-05 22:25:21

标签: macros lisp

我是lisp的新手,这可能是一个非常愚蠢/明显的问题,但是通常的lisp可以从宏中显示生成的代码吗?

所以对于例子

(defmacro nil! (var)
  (list 'setq var nil))

我希望能够看到扩展代码

(setq a nil)

1 个答案:

答案 0 :(得分:3)

正如迭戈所说...... MACROEXPAND-1

* (macroexpand-1 '(nil! frob))

(SETQ FROB NIL)
T
*