2009-07-20から1日間の記事一覧

執拗な再帰マクロ展開

処理系に依るかも知れないが、macroexpandは全てのマクロを展開してくれない。 (defmacro macro (&body body) `(progn (foo) ,@body (bar))) (defmacro macro2 (&body body) `(prog1 ,@body (buzz))) (defmacro macro3 () ''fizz) (macroexpand '(macro (mac…

関数の挙動を調べたい

xyzzyにはデバッグのためにstack-traceとstepが用意されている。ところが、これらの関数・マクロの使い方がよくわからない。 (stack-trace) >CALL STACK 9: (stack-trace) >CALL STACK 8: (eval (stack-trace)) >CALL STACK 7: (system:*byte-code ...) >CAL…