- 289 名前:デフォルトの名無しさん [2007/10/03(水) 21:40:00 ]
- 質問させてください。
gaucheでマクロを展開した結果を確認したいのですが、 macroexpandで完全に(展開できなくなるまで)展開されません。 例えば (define-syntax my-let (syntax-rules () ((_ () . body) (begin . body)) ((_ ((var expr) . binds) . body) (let1 var expr (my-let binds . body))))) (macroexpand '(my-let ( (b 3)) (list a b))) ;;=> (#<identifier gauche#let> ((b 3)) (#<identifier user#my-let> () (list a b))) という感じです。my-letが1段階しか展開されません。 完全に展開した結果を得るにはどうしたらよいのでしょうか?
|

|