Macの物語:マクロがどのようにして生まれたか
The Story of Mac: A Just-So Story
Common Lispのマクロは、コードを生成するコードを書くことで、言語の抽象化を高めるための強力な機能です。この記事では、マクロと関数の違いを明確にし、マクロ展開時と実行時の区別を説明します。また、怠惰なプログラマたちが「Mac」という名のジュニアプログラマにコード生成を任せたという寓話を通じて、DEFMACROの概念を楽しく紹介します。マクロの書き方の基本から、リークしない抽象化の重要性まで、実践的なアドバイスも含まれています。
マクロを理解する鍵は、コードを生成するコード(マクロ)と、最終的にプログラムを構成するコード(その他すべて)との区別を明確にすることです。