どちらがきっかけだったのか忘れてしまいましたが、wikipedia:メタプログラミング か wikipedia:抽象構文木 について調べているうちに マクロ が出てきました。 私の中では、マクロと聞くと、C 言語の、プリプロセッサ (コンパイルの前処理) でコードに置き換えるものを漠然とイメージします。改めてマクロって何だったっけ?何が嬉しいのだっけ?と考えてみると、基本的なことが分かっていないことに気付いたのでマクロについて調べ直してみました。 マクロとは wikipedia からマクロの定義を引用します。 A macro (short for "macroinstruction", from Greek μακρο- 'long') in computer science is a rule or pattern that specifies how a certain input s