マクロをいつ使うか

letはlambdaによる無名関数の適用へと展開される(id:yagiey:20100128:1264705405)。
だからletは(仕様が要求するけど)必須構文ではない。
だけどletによって「ローカル変数」という概念ができる。
このように、

そのマクロによってまとまった、明確な抽象化ができる

場合に使うといいらしい(p268)。


マクロで新しい構文を定義したSchemeは、もはや単なるSchemeではなく、Schemeのスーパーセットという感じなのかしら。
GIMPのScript-FuはSchemeをベースにしているらしいけど、これはSchemeにScript-Fu独自の構文や手続きを追加したものなのかな?