2

私はlispに非常に慣れていないので、これは非常に愚かで明白な質問かもしれませんが、一般的なlispでは、マクロから生成されたコードを表示できますか?

例として

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

拡張されたコードを表示できるようにしたい

(setq a nil)
4

1 に答える 1

3

ディエゴが言ったように... MACROEXPAND-1

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

(SETQ FROB NIL)
T
* 
于 2012-06-05T22:31:21.287 に答える