1.1 LISPの誕生 (1958–1962)

LISPは、1958年にJohn McCarthyによってMIT人工知能プロジェクトの一環として設計された。McCarthyは、記号処理とリスト操作に特化したプログラミング言語を構想し、1959年に初版の仕様を発表した。1960年代初期には、LISP 1.0およびLISP 1.5へと発展し、再帰的関数定義ガベージコレクションなどの革新的な機能が導入された。この時期、LISPは人工知能研究の主要言語として急速に普及し始めた。

1.2 マニュアル執筆の経緯

本マニュアルは、LISP 1.5の実装と利用が進む中で、標準的な参照資料の必要性から執筆された。McCarthyを中心とするMITの研究チーム(Michael Levin、Paul Abrahams、Daniel Edwards、Timothy Hart、David Luckhamら)が協力し、1962年にMIT Pressから出版された。当時、LISPの仕様は口頭やメモで伝えられることが多く、体系的な文書化が求められていた。本書はその初の公式ドキュメントとして位置づけられる。

2.1 全体の構成

本書は、序論、関数定義、評価と適用、プログラミング技法の4つの主要章と、複数の付録から構成される。全編を通して、LISP 1.5の構文意味論、実装上の詳細が段階的に解説されている。末尾には、組み込み関数一覧や参考文献が付属し、実践的な補完資料としての役割も果たす。

2.2 主要な章の説明

2.2.1 第1章:序論

LISPの基本概念と設計思想を概説する。記号式(S式)の定義、基本的なリスト操作(CAR、CDR、CONSなど)、アトムとリストの区別が導入される。また、LISPインタプリタの簡単な動作原理と、対話的実行環境の使い方が示される。

2.2.2 第2章:関数定義

ユーザー定義関数の記法(LAMBDA式による抽象化)と、DEFINE文による関数の命名方法を解説する。条件分岐(COND)、再帰呼び出し、引数パターンマッチングの基礎が扱われ、実際のコード例を通じて再帰的プログラミングの技法が説明される。

2.2.3 第3章:評価と適用

LISPの評価機構(apply-evalループ)の中核を詳述する。フォームの評価順序、特殊形式(QUOTE、COND、LAMBDAなど)の動作、環境と関数適用の関係が系統的に整理される。また、関数適用の内部処理(引数の評価、クロージャの生成)についても言及される。

2.2.4 第4章:プログラミング技法

より高度な技法として、マクロ(FEXPRなど)、関数引数(高階関数)、リスト構造の変形(マッピングフィルタリング)が取り上げられる。実用的なプログラム例(数式処理、探索アルゴリズム)を通じて、LISPの表現力と応用可能性が示される。

2.2.5 付録

主な付録には、組み込み関数の完全なリファレンス、エラーメッセージ一覧、サンプルセッション、参考文献が含まれる。これらは、マニュアルを実装者や学習者の手引として完成させるための補足資料である。

3.1 S式とM式

LISP 1.5では、データ構造を表現するS式(記号式)と、プログラムを記述するM式(メタ式)の二層構文が採用されている。S式は括弧で括られたリストやアトムで構成され、M式はLAMBDAやCONDを用いた人間に読みやすい形式で記述される。両者は機械的に変換可能であり、マクロシステムの基盤となった。

3.2 関数型プログラミング

本書は、関数型プログラミングの先駆的な実践例を提供する。関数を第一級オブジェクトとして扱い、高階関数や関数合成を自然に記述できる。副作用の少ない純粋関数スタイルが推奨され、後の関数型言語(MLHaskellなど)に影響を与えた。

3.3 再帰とラムダ計算

LISPのコアメカニズムは、Alonzo Churchのラムダ計算に基づく。再帰的関数定義は、名指しによる自己参照(ラベル付け)と関数抽象の組み合わせで実現される。本書は、この理論的基盤を具体的なコード例とともに解説し、計算理論と実用言語の架け橋となった。

4.1 その後のLISPへの影響

本マニュアルは、MacLISP、InterlispCommon Lispなど、後続のLISP方言の設計に直接的な影響を与えた。特に、関数定義と評価機構の明確な記述は、処理系開発者の標準的な指針となった。また、S式とM式の区別は、後のLISP方言では統合されたが、概念上の重要性は失われていない。

4.2 計算機科学教育への貢献

1960年代から1970年代にかけて、計算機科学教育の教科書として広く用いられた。関数型プログラミング、再帰、リスト処理といった概念を体系的に学ぶための教材として、多くの大学で採用された。また、人工知能コースの必須文献としても認知された。

4.3 現代における位置づけ

現在では、計算機科学史上の古典として、研究者や愛好家の間で参照され続けている。オンラインでデジタル化され、無料で入手可能である。技術的には時代遅れとなった部分もあるが、LISPの本質を理解するための根本資料として、また関数型プログラミングの起源をたどるための重要文献として、高い価値を維持している。