SCHEME
拡張ラムダ計算のためのインタープリタ
Gerald Jay Sussman and Guy Lewis Steele Jr.
要旨:
ACTORS [Greif and Hewitt] [Smith and Hewitt] に触発され、ラムダ計算 [Church] に基づき、副作用、マルチプロセシング、プロセス同期のために拡張されたLISP風言語SCHEMEのインタープリタを実装した。この実装の目的はチュートリアル的なものである。目的は次のとおりである:
(1) Micro-PLANNER、CONNIVERなどによって引き起こされた混乱を、LISPのような再帰的ホスト言語における非再帰的制御構造の埋め込みを明確にすることによって軽減する。
(2) パターンマッチングやデータベース操作などの問題とは独立して、これらの制御構造をどのように使用するかを説明する。
(3) プログラミングの意味論とスタイルに関する特定の問題のための、単純で具体的な実験領域を提供する。
本論文はセクションに分けて構成されている。最初のセクションは短い「リファレンスマニュアル」であり、SCHEMEのすべての特殊な機能についての仕様を含んでいる。次に、さまざまなプログラミングスタイルと、それらの使用方法を示す一連のプログラミング例を提示する。これによって意味論に関するいくつかの問題が生じるが、第3セクションではラムダ計算を用いてそれらを明らかにする。第4セクションでは、ラムダ計算に基づく言語のインタープリタを実装する者が直面する問題について一般的に論じる。最後に、LISPのような再帰的言語において非再帰的制御構造を実装するための実践的な技法をプログラマに理解してもらうため、MacLISP [Moon] で記述した、完全に注釈を付したSCHEMEのインタープリタを提示する。