Scheme: An Interpreter for Extended Lambda Calculus

About this paperEnglish中文日本語beside Englishbeside 中文beside 日本語

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

MỘT BỘ THÔNG DỊCH CHO PHÉP TÍNH LAMBDA MỞ RỘNG bởi

Gerald Jay Sussman và Guy Lewis Steele Jr.

Tóm tắt:

Lấy cảm hứng từ ACTORS [Greif and Hewitt] [Smith and Hewitt], chúng tôi đã triển khai một bộ thông dịch cho một ngôn ngữ giống LISP, SCHEME, dựa trên phép tính lambda [Church], nhưng được mở rộng cho các tác dụng phụ, xử lý đa tiến trình và đồng bộ hóa tiến trình. Mục đích của triển khai này là hướng dẫn. Chúng tôi mong muốn:

(1) giảm bớt sự nhầm lẫn do Micro-PLANNER, CONNIVER, v.v. gây ra bằng cách làm rõ sự nhúng của các cấu trúc điều khiển không đệ quy trong một ngôn ngữ chủ đệ quy như LISP.

(2) giải thích cách sử dụng các cấu trúc điều khiển này, độc lập với các vấn đề như so khớp mẫu và thao tác cơ sở dữ liệu.

(3) có một miền thử nghiệm cụ thể đơn giản cho một số vấn đề nhất định về ngữ nghĩa lập trình và phong cách.

Bài báo này được tổ chức thành các phần. Phần đầu tiên là một "sổ tay tham khảo" ngắn chứa các đặc tả cho tất cả các tính năng bất thường của SCHEME. Tiếp theo, chúng tôi trình bày một chuỗi các ví dụ lập trình minh họa nhiều phong cách lập trình khác nhau và cách sử dụng chúng. Điều này sẽ nêu lên một số vấn đề về ngữ nghĩa mà chúng tôi sẽ cố gắng làm rõ bằng phép tính lambda trong phần thứ ba. Trong phần thứ tư, chúng tôi sẽ đưa ra một thảo luận tổng quát về các vấn đề mà một người triển khai bộ thông dịch cho một ngôn ngữ dựa trên phép tính lambda phải đối mặt. Cuối cùng, chúng tôi sẽ trình bày một bộ thông dịch SCHEME được chú thích hoàn toàn, được viết bằng MacLISP [Moon], để giúp các lập trình viên làm quen với những thủ thuật trong nghề triển khai các cấu trúc điều khiển không đệ quy trong một ngôn ngữ đệ quy như LISP.

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 Tiếng Việt by gpt-5, against glossary version 7. Translated from the English.