2012年4月25日

マクロは

On Lispを読んでいるんですけど、この本に載っているマクロはどれも短いものばかりで単純なプログラムとしてみるだけだとなんてことないような気がするのだけどやっぱり難しい。
コンパイル時に置き換えられた後の形を思い浮かべてさらに実行時にどうやって実行されるか考えないといけないので負担が多すぎる。
慣れてくると、一歩すすむと、このコンパイル時と実行時の挙動の理解があっさりできるようになるのだろうか?
ポールグレハム級になってくるとマクロも空気のような存在になっているのか不思議でしょうがない。
でも普通の人、プログラムとか全然やったこと無い人にとっては普通のプログラムでも理解するのが難儀なので俺もそのうちマクロが難なく理解できるようになる日がやってくるのだろうか。
マクロをいちいち理解しようとすると全然読み進まないです。
On Lispに載っている例はマクロじゃなければ、全てのプログラムはすごく簡単なものばかりなのだけどマクロになると途端に抽象度が上がって難易度がグンと跳ね上がるな。

「マクロを定義するマクロ」なんて正直、もうついていけないのだけど。
落ち着いて一つ一つ分解していけばなんとかなるけどメチャクチャ時間がかかるのだよね。
難しい。