計算効率化のためのマクロ

inは引数の評価を先送りすることで計算量を効率的にしている。
つまり遅延評価なんだなぁ。

マクロ手法をいろいろ見てると必死で評価を先送りして、抽象的にかつ計算量を少なくしようとしているように見える。

遅延評価といえば、haskell
haskellの力の源泉は遅延評価。遅延評価を徹底するための参照透過。参照透過で実用プログラムを組むためのモナド

やっぱりhaskellには勝てないのかな。全てが遅延評価なんて。
モナドが気になる。

モナドを組み込んだ遅延評価版のlispがあったとして、マクロを使う必要性ってあるのかなぁ。
ないにしても構文が単純だからhaskell書くにしてもlisp構文がいいかも。
haskelllispを組み込んだりしているのは見たことあるけど。

あ、やばい。lispよりhaskellが上なのだとすればhaskellの組込み言語としてlispを実現するべきなのか?
言語もつ慣性に流されてしまっているな。