Scheme: An Interpreter for Extended Lambda Calculus

About this paperEnglishTiếng Việt中文beside Englishbeside Tiếng Việtbeside 中文

This paper is under a licence that does not allow it to be reproduced, so what is here is its front matter and a short abstract. Read it at the publisher's page.

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のインタープリタを提示する。

References

  1. [Bobrow and Wegbreit] Bobrow, Daniel G. and Wegbreit, Ben. "A Model and Stack Implementation of Multiple Environments." CACM 16, 10 (October 1973) pp. 591-603.
  2. [Church] Church, Alonzo: The Calculi of Lambda Conversion. Annals of Mathematics Studies Number 6. Princeton University Press (Princeton, 1941). Reprinted by Klaus Reprint Corp. (New York, 1965).
  3. [Dijkstra] Dijkstra, Edsger W. "Solution of a Problem in Concurrent Programming Control." CACM 8,9 (September 1965) p. 569.
  4. [Fischer] Fischer, Michael J. "Lambda Calculus Schemata." Proceedings of ACM Conference on Proving Assertions about Programs. SIGPLAN Notices (January 1972).
  5. [Galley and Pfister] Galley, S.W. and Pfister, Greg. The MDL Language. Programming Technology Division Document SYS.11.01. Project MAC, MIT (Cambridge, November 1975).
  6. [Greif] Greif, Irene: Semantics of Communicating Parallel Processes. Ph.D. thesis. MAC-TR-154, Project MAC, MIT (Cambrudge, September 1975).
  7. [Greif and Hewitt] Greif, Irene and Hewitt, Carl. Actor Semantics of Planner-73. Working Paper 81, MIT AI Lab (Cambridge, 1975).
  8. [Ingerman] Ingerman, P. Z. "Thunks -- A Way of Compiling Procedure Statements with Some Comments on Procedure Declarations." CACM 4,1 (January 1961) pp. 55-58.
  9. [Knuth] Knuth, Donald E. "Additional Comments on a Problem in Concurrent Programming Control." CACM 9,5 (May 1966) pp. 321-322.
  10. [Lamport] Lamport, Leslie. "A New Solution of Dijkstra's Concurrent Programming Problem." CACM 17,8 (August 1974) pp. 453-455.
  11. [MAC] Project MAC Progress Report XI (July 1973 - July 1974). Project MAC, MIT (Cambridge, 1974).
  12. [McCarthy] McCarthy, John, et al. LISP 1.5 Programmer's Manual. The MIT Press (Cambridge, 1965).
  13. [McDermott and Sussman] McDermott, Drew V. and Sussman, Gerald Jay. The CONNIVER Reference Manual. AI Memo 295a. MIT AI Lab (Cambridge, January 1974).
  14. [Moon] Moon, David A. MACLISP Reference Manual, Revision 0. Project MAC, MIT (Cambridge, April 1974).
  15. [Moses] Moses, Joel. The Function of FUNCTION in LISP. AI Memo 199, MIT AI Lab (Cambridge, June 1970).
  16. [Reynolds] Reynolds, John C. "Definitional Interpreters for Higher Order Programming Languages." ACM Conference Proceedings 1972.
  17. [Smith and Hewitt] Smith, Brian C. and Hewitt, Carl. A PLASMA Primer (draft). MIT AI Lab (Cambridge, October 1975).
  18. [Sussman] Sussman, Gerald Jay, Winograd, Terry, and Charniak, Eugene. Micro-PLANNER Reference Manual. AI Memo 203A. MIT AI Lab (Cambridge, December 1971).

Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8. Translated into 日本語 by gpt-5, against glossary version 6. Translated from the English.