Skip to main content
Log in

Definitional Interpreters Revisited

  • Published:
Higher-Order and Symbolic Computation

Abstract

To introduce the republication of “Definitional Interpreters for Higher-Order Programming Languages”, the author recounts the circumstances of its creation, clarifies several obscurities, corrects a few mistakes, and briefly summarizes some more recent developments.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Reynolds, John C. Theories of Programming Languages. Cambridge University Press, Cambridge, England, 1998.

    Google Scholar 

  2. Reynolds, John C. Definitional interpreters for higher-order programming languages. In Proceedings of the ACM Annual Conference, volume 2, pages 717–740, Boston, Massachusetts, August 1972. ACM, New York. Reprinted as [3].

    Google Scholar 

  3. Reynolds, John C. Definitional interpreters for higher-order programming languages. Higher-Order and Symbolic Computation, 11(4):363–397, 1998.

    Google Scholar 

  4. Evans, Jr., Arthur. The lambda calculus and its relation to programming languages. In Proceedings of the ACM Annual Conference, volume 2, pages 714–716, Boston, Massachusetts, August, 1972. ACM, New York.

    Google Scholar 

  5. Morris, Jr., James H. Private communication. September, 1972.

  6. Reynolds, John C. On the relation between direct and continuation semantics. In Jacques Loeckx, editor, Automata, Languages and Programming: 2nd Colloquium, volume 14 of Lecture Notes in Computer Science, pages 141–156, Saarbrücken, Germany, July 29-August 2, 1974. Springer-Verlag, Berlin.

    Google Scholar 

  7. Wadsworth, Christopher P. Private communication. August 30, 1972.

  8. Wadsworth, Christopher P. Semantics and Pragmatics of the Lambda-Calculus. Ph. D. dissertation, Programming Research Group, Oxford University, Oxford, England, September 1971.

  9. Landin, Peter J. A generalization of jumps and labels. Higher-Order and Symbolic Computation, 11(2):125–143, 1998. Originally a report for UNIVAC Systems Programming Research, dated August 29, 1965.

    Google Scholar 

  10. Thielecke, Hayo An introduction to Landin's “A generalization of jumps and labels”. Higher-Order and Symbolic Computation, 11(2):117–124, 1998.

    Google Scholar 

  11. Felleisen, Matthias Reflections on Landin's J-operator: A partly historical note. Computer Languages, 12(3/4):197–207, 1987.

    Google Scholar 

  12. Lucas, Peter and Walk, K. On the formal description of PL/I. Annual Review in Automatic Programming, 6(3):105–182, 1969.

    Google Scholar 

  13. Strachey, Christopher and Wadsworth, Christopher P. Continuations, a mathematical semantics for handling full jumps. Technical Monograph PRG-11, Programming Research Group, Oxford University Computing Laboratory, Oxford, England, January 1974.

  14. Fischer, Michael J. Lambda-calculus schemata. Lisp and Symbolic Computation, 6(3-4):259–287, November 1993.

    Google Scholar 

  15. Reynolds, John C. The discoveries of continuations. Lisp and Symbolic Computation, 6(3-4):233–247, November 1993.

    Google Scholar 

  16. McCarthy, John, Brayton, R., Edwards, Daniel J., Fox, P., Hodes, L., Luckham, David C., Maling, K., Park, David M.R. and Russell. S. LISP I programmer's manual. Technical report, Computation Center and Research Laboratory of Electronics, Massachusetts Institute of Technology, Cambridge, Massachusetts, March 1, 1960.

    Google Scholar 

  17. McCarthy, John, Abrahams, Paul W., Edwards, Daniel J., Hart, Timothy P. and Levin, Michael I. LISP 1.5 Programmer's Manual. MIT Press, Cambridge, Massachusetts, 1962.

    Google Scholar 

  18. Landin, Peter J. The mechanical evaluation of expressions. The Computer Journal, 6(4):308–320, January 1964.

    Google Scholar 

  19. Steele Jr., Guy Lewis. RABBIT: A compiler for SCHEME (a study in compiler optimization). Report AI-TR- 474, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, Massachusetts, May 1978.

  20. Sussman, Gerald Jay and Steele Jr., Guy Lewis SCHEME: An interpreter for extended lambda calculus. AI Memo 349, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, Massachusetts, December 1975. Reprinted as [21].

  21. Sussman, Gerald Jay and Steele Jr., Guy Lewis SCHEME: An interpreter for extended lambda calculus. Higher-Order and Symbolic Computation, 11(4):405–439, 1998.

    Google Scholar 

  22. Minamide, Yasuhiko, Morrisett, Greg and Harper, Robert. Typed closure conversion. In Conference Record of POPL '96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 271–283, St. Petersburg Beach, Florida, January 21-24, 1996. ACM Press, New York.

    Google Scholar 

  23. Shivers, Olin. Control-Flow Analysis of Higher-Order Languages or Taming Lambda. Ph. D. dissertation, School of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania, May 1991. Report CMU-CS-91-145.

    Google Scholar 

  24. Plotkin, Gordon D. Call-by-name, call-by-value and the λ-calculus. Theoretical Computer Science, 1(2):125–159, December 1975.

    Google Scholar 

  25. Sabry, Amr and Felleisen, Matthias. Reasoning about programs in continuation-passing style. Lisp and Symbolic Computation, 6(3-4):289–360, November 1993.

    Google Scholar 

  26. Meyer, Albert R. and Wand, Mitchell. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logic of Programs, volume 193 of Lecture Notes in Computer Science, pages 219–224, Brooklyn, New York, June 17-19, 1985. Springer-Verlag, Berlin.

    Google Scholar 

  27. Harper, RobertW., Duba, Bruce F. and MacQueen, David B. Typing first-class continuations in ML. Journal of Functional Programming, 3(4):465–484, October 1993.

    Google Scholar 

  28. Hatcliff, John and Danvy, Olivier. A generic account of continuation-passing styles. In Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 458–471, Portland, Oregon, January 17-21, 1994. ACM Press, New York.

    Google Scholar 

  29. Harper, Robert W. and Lillibridge, Mark. Polymorphic type assignment and CPS conversion. Lisp and Symbolic Computation, 6(3-4):361–379, November 1993.

    Google Scholar 

  30. Appel, Andrew W. Compiling with Continuations. Cambridge University Press, Cambridge, England, 1992.

    Google Scholar 

  31. Clinger, William, Friedman, Daniel P. and Wand, Mitchell. A scheme for a higher-level semantic algebra. In Maurice Nivat and John C. Reynolds, editors, Algebraic Methods in Semantics, pages 237–250. Cambridge University Press, Cambridge, England, 1985.

    Google Scholar 

  32. Kelsey, Richard, Clinger, William and Rees, Jonathan (editors). Revised5 report on the algorithmic language Scheme. Higher-Order and Symbolic Computation, 11(3):7–105, 1998.

  33. Appel, Andrew W. and MacQueen, David B. Standard ML of New Jersey. In Jan Maluszyński and Martin Wirsing, editors, Programming Language Implementation and Logic Programming: 3rd International Symposium, PLILP'91, volume 528 of Lecture Notes in Computer Science, pages 1–13, Passau, Germany, August 26-28, 1991. Springer-Verlag, Berlin.

    Google Scholar 

  34. Griffin, Timothy G. A formulae-as-types notion of control. In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 47–58, San Francisco, January 17-19, 1990. ACM Press, New York.

    Google Scholar 

  35. Murthy, Chetan. Extracting Constructive Content from Classical Proofs. Ph. D. dissertation, Department of Computer Science, Cornell University, Ithaca, New York, August 1990. Technical Report 90-1151.

  36. Moggi, Eugenio. Notions of computation and monads. Information and Computation, 93(1):55–92, July 1991.

    Google Scholar 

  37. Filinski, Andrzej. Controlling Effects. Ph. D. dissertation, School of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania, May 1996. Report CMU-CS-96-119.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Reynolds, J.C. Definitional Interpreters Revisited. Higher-Order and Symbolic Computation 11, 355–361 (1998). https://doi.org/10.1023/A:1010075320153

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1010075320153

Navigation