はじめに この記事はCommon Lispで純粋な関数型プログラミングをしようと考えた筆者の試行錯誤の一部を共有するためのものです.遅延評価(lazy evaluation)は関数型プログラミングをする際には避けては通れず,何度も実装するうちに共有するに値する知見が得られたと考えたので記事を書くことにしました. Common Lispで有名な遅延評価ライブラリといえばCLAZYなどが挙げられますが,実装はそれほど難しくなく,マクロ定義の練習問題としても優秀なタスクですから,マクロを知ったばかりのCommon Lisp中級者もぜひ一度は自分の手で実装してみると良いでしょう. 前提知識としてCommon Lispの基本的な文法と初歩的なマクロの定義を要求しています.この記事をマクロの入門記事として読むこともできます. Common Lispと関数型プログラミング しばしば「Common Lis