>>253

マクロを使う利点をまとめると
- 見た目がすっきりする
- 構文に名前を付けられる
- 同じことを繰り返し書かなくてよくなる
といったところかな。

マクロは極論すればただ短く書けるだけなんだから、
マクロを使わなければ解けない問題というのは無いというのはあらためて言うまでもない。
マクロを積極的に使わなくても書ける、というのはその通り。

でも、それを言うならプログラムを手続きに小分けせずベタ書きしたって動きはするよ。
だけど、適度に分割したり組み合わせたりすることでわかりやすくしてるわけだよね。
そんでもって人によってどの程度の抽象化がわかりやすいかは違うわけだよね。
OnLisp にある prolog もどきがあなたのやり方にそぐわないということはもちろんあり得る。
動作がなんとなく見える程度に薄いマクロをあなたが定義する自由だってあるし、
全くマクロを使わない自由だってもちろん有って、 Lisp という言語はその自由を奪うことはない。

だけど、私があの Prolog もどきを使うとしたらなるべく隠蔽 (抽象化) したいと思うし、
そのためにはマクロは欠くことの出来ないものだとも思う。
それを「使うべきでない」などと言われる筋合いもない。