An Introduction to Landin's “A Generalization of Jumps and Labels”

Higher-Order and Symbolic Computation - Tập 11 - Trang 117-123 - 1998
Hayo Thielecke1
1QMW, University of London, UK

Tóm tắt

This note introduces Peter Landin's 1965 technical report “A Generalization of Jumps and Labels”, which is reprinted in this volume. Its aim is to make that historic paper more accessible to the reader and to help reading it in context. To this end, we explain Landin's control operator J in more contemporary terms, and we recall Burge's solution to a technical problem in Landin's original account.

Tài liệu tham khảo

William H. Burge. Recursive Programming Techniques. Addison-Wesley, 1975. Bruce Duba, Robert Harper, and David MacQueen. Typing first-class continuations in ML. In Proc. ACM Symp. Principles of Programming Languages, pages 163–173, January 1991. Matthias Felleisen. Reflections on Landin's J operator: a partly historical note. Computer Languages, 12(3/4):197–207, 1987. Matthias Felleisen and Daniel P. Friedman. Control operators, the SECD-machine, and the λ-calculus. In M. Wirsing, editor, Formal Description of Programming Concepts, pages 193–217. North-Holland, 1986. Anthony Field and Peter Harrison. Functional Programming. Addison-Wesley, 1988. Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages. MIT Press and McGraw-Hill, 1992. Martin C. Henson. Elements of Functional Languages. Blackwell Scientific Publications, Oxford, 1987. Martin Hofmann. Sound and complete axiomatizations of call-by-value control operators. Math. Struct. in Comp. Science, 1994. Peter J. Landin. The mechanical evaluation of expressions. The Computer Journal, 6(4):308–320, January 1964. Peter J. Landin. A correspondence between ALGOL 60 and Church's lambda-notation: Parts I and II. Communications of the ACM, 8(2,3):89–101, 158-165, February and March 1965. Peter J. Landin. A generalization of jumps and labels. Report, UNIVAC Systems Programming Research, August 1965. To be reprinted in Lisp and Symbolic Computation. Peter J. Landin. Getting rid of labels. Technical report, UNIVAC Systems Programming Research, July 1965. Peter J. Landin. Programming without imperatives-an example. Technical report, UNIVAC Systems Programming Research, March 1965. Peter J. Landin. Histories of discoveries of continuations: Belles-lettres with equivocal tenses. In O. Danvy, editor, ACM SIGPLAN Workshop on Continuations, number NS-96-13 in BRICS Notes Series, 1997. AT&T Bell Laboratories. Standard ML of New Jersey - Base Environment, 0.93 edition, February 1993. Jonathan Rees and William Clinger (editors). Revised4 report on the algorithmic language Scheme. ACM Lisp Pointers IV, July-September 1991. Chris Reade. Elements of Functional Programming. International Computer Science Series. Addison-Wesley, Wokingham, England, 1989. John C. Reynolds. Definitional interpreters for higher-order programming languages. In Proceedings of the 25 th ACM National Conference, pages 717–740. ACM, August 1972. John C. Reynolds. The discoveries of continuations. Lisp and Symbolic Computation, 6(3/4):233–247, November 1993. Guy L. Steele and Richard P. Gabriel. The evolution of Lisp. In Richard L. Wexelblat, editor, Proceedings of the Conference on History of Programming Languages, volume 28(3) of ACM Sigplan Notices, pages 231–270, New York, NY, USA, April 1993. ACM Press. Christopher Strachey and C. P. Wadsworth. Continuations: A mathematical semantics for handling full jumps. Technical Monograph PRG-11, Oxford University Computing Laboratory, January 1974. Mitchell Wand. Continuation-based multiprocessing. Conference Record of the 1980 Lisp Conference, pages 19–28, 1980.