Skip to main content

Part of the book series: NATO ASI Series ((NATO ASI F,volume 8))

Abstract

Progress in programming language design has often been achieved by making an abstraction a “first class object”, one that can be passed to and returned from procedures and entered in data structures. For example, the importance of functional parameters has long been recognized, though it is only more recently that actor semantics [2] and object oriented programming have demonstrated the power of first class functional objects. This paper illustrates, with a novel example, the power of first class control objects, called continuations.

First Class Continuations are described, and a means for their explicit access is defined by a meta-circular interpreter. We pose and solve the “Devils and Angels Problem” that utilizes the indefinite extent of continuations. Some ramifications of continuations with respect to language implementation and non-blind backtracking are presented.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Daniel P. Friedman, Christopher T. Haynes, Eugene Kohlbecker, and Mitchell Wand, “Scheme 84 Reference Manual: Preliminary Version”, November 1983.

    Google Scholar 

  2. Carl Hewitt, “Viewing control structures as patterns of passing messages”, Artif. Intel I. 8, 1977, pages 323–363. Also in Winston and Brown [ed], Artificial Intelligence: an MIT Perspective, MIT Press, 1979.

    Google Scholar 

  3. Peter J. Landin, “A correspondence between ALGOL 60 and Church’s Lambda Notation”, CACM 8, 2-3, February and March 1965, pages 89–101 and 158–165.

    Google Scholar 

  4. Jonathan A. Rees and Norman I. Adams IV, “T: A dialect of Lisp or, LAMBDA: The ultimate software tool”, Proceedings of the 1982 ACM Symposium on Lisp and Functional Programming, pages 114–122.

    Google Scholar 

  5. John C. Reynolds, “Definitional interpreters for higher order programming languages”, ACM Conference Proceedings 1972, pages 717–740.

    Google Scholar 

  6. Guy Lewis Steele Jr. and Gerald Jay Sussman, “The revised report on Scheme: a dialect of Lisp”, MIT Artificial Intelligence Memo 452, January 1978.

    Google Scholar 

  7. Guy Steele, “Common Lisp Reference Manual”, Carnegie-Mellon University Department of Computer Science Spice Project, November 1982. To appear, Digital Press, Bedford MA.

    Google Scholar 

  8. Joseph E. Stoy, Denotational Semantics: The Scott-Strachey Approach to Programming Language Semantics, MIT Press, Cambridge MA, 1977.

    Google Scholar 

  9. Christopher Strachey and Christopher P. Wadsworth, “Continuations—a Mathematical semantics for handling full jumps”, Technical Monograph PRG-11, Programming Research Group, University of Oxford (1974).

    Google Scholar 

  10. Gerald Jay Sussman and Drew Vincent McDermott, “From PLANNER to CONNIVER—A genetic approach”, Joint Computer Conference Proceedings 41, part n, AFIPS Press, NJ, pages 1171–1179.

    Google Scholar 

  11. Gerald Jay Sussman and Guy Lewis Steele Jr., “Scheme: an interpreter for extended lambda calculus”, MIT Artificial Intelligence Memo 349, December 1975.

    Google Scholar 

  12. Mitchell Wand, “Continuation-based multiprocessing”, Conf. Record of the 1980 Lisp Conference, August 1980, pages 19–28.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1984 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Friedman, D.P., Haynes, C.T., Kohlbecker, E. (1984). Programming with Continuations. In: Pepper, P. (eds) Program Transformation and Programming Environments. NATO ASI Series, vol 8. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-46490-4_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-46490-4_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-46492-8

  • Online ISBN: 978-3-642-46490-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics