A Systematic Approach to Delimited Control with Multiple Prompts

  • Paul Downen
  • Zena M. Ariola
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7211)


We formalize delimited control with multiple prompts, in the style of Parigot’s λμ-calculus, through a series of incremental extensions by starting with the pure λ-calculus. Each language inherits the semantics and reduction theory of its parent, giving a systematic way to describe each level of control.


Delimited control dynamic variables shift reset multiple prompts 


  1. 1.
    Ariola, Z.M., Herbelin, H.: Control reduction theories: The benefit of structural substitution. J. Funct. Program. 18, 373–419 (2008)MathSciNetMATHCrossRefGoogle Scholar
  2. 2.
    Ariola, Z.M., Herbelin, H., Sabry, A.: A type-theoretic foundation of delimited continuations. HOSC 22(3), 233–273 (2009)MATHGoogle Scholar
  3. 3.
    Curien, P.L., Herbelin, H.: The duality of computation. In: ICFP 2000, pp. 233–243 (2000)Google Scholar
  4. 4.
    Danvy, O.: On evaluation contexts, continuations, and the rest of the computation. In: ACM SIGPLAN Workshop on Continuations, pp. 13–23 (2004)Google Scholar
  5. 5.
    Danvy, O., Filinski, A.: A functional abstraction of typed contexts. Tech. Rep. 89/12, DIKU, University of Copenhagen, Copenhagen, Denmark (1989)Google Scholar
  6. 6.
    Danvy, O., Millikin, K.: Refunctionalization at work. Science of Computer Programming 74(8), 534–549 (2009)MathSciNetMATHCrossRefGoogle Scholar
  7. 7.
    Danvy, O., Filinski, A.: Abstracting control. In: Proceedings of the 1990 ACM Conference on LISP and Functional Programming, pp. 151–160. ACM Press (1990)Google Scholar
  8. 8.
    Dybvig, R., Jones, S.P., Sabry, A.: A monadic framework for delimited continuations. Journal of Functional Programming 17(06), 687–730 (2007)MathSciNetGoogle Scholar
  9. 9.
    Felleisen, M.: The theory and practice of first-class prompts. In: POPL 1988 (1988)Google Scholar
  10. 10.
    Felleisen, M., Friedman, D., Kohlbecker, E.: A syntactic theory of sequential control. Theoretical Computer Science 52(3), 205–237 (1987)MathSciNetMATHCrossRefGoogle Scholar
  11. 11.
    Filinski, A.: Representing monads. In: POPL 1994, pp. 446–457 (1994)Google Scholar
  12. 12.
    Filinski, A.: Representing layered monads. In: POPL 1999, pp. 175–188 (1999)Google Scholar
  13. 13.
    Garcia, R., Lumsdaine, A., Sabry, A.: Lazy evaluation and delimited control. In: Proceedings of POPL 2009, pp. 153–164. ACM, New York (2009)Google Scholar
  14. 14.
    Kiselyov, O.: Delimited control in OCaml, abstractly and concretely: System description. Functional and Logic Programming, 304–320 (2010)Google Scholar
  15. 15.
    Kiselyov, O., Shan, C.-c., Sabry, A.: Delimited dynamic binding. In: Proceedings of the Eleventh ACM SIGPLAN International Conference on Functional Programming, ICFP 2006, pp. 26–37. ACM, New York (2006)CrossRefGoogle Scholar
  16. 16.
    Materzok, M., Biernacki, D.: Subtyping delimited continuations. In: Proceeding of the 16th ACM SIGPLAN International Conference on Functional Programming, ICFP 2011, pp. 81–93. ACM, New York (2011)CrossRefGoogle Scholar
  17. 17.
    Moreau, L.: A syntactic theory of dynamic binding. HOSC 11(3), 233–279 (1998)MATHGoogle Scholar
  18. 18.
    Parigot, M.: λμ-Calculus: An Algorithmic Interpretation of Classical Natural Deduction. In: Voronkov, A. (ed.) LPAR 1992. LNCS, vol. 624, pp. 190–201. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  19. 19.
    Reynolds, J.C.: Definitional interpreters for higher-order programming languages. In: Proceedings of the 25th ACM National Conference, pp. 717–740 (1972)Google Scholar
  20. 20.
    Sitaram, D., Felleisen, M.: Reasoning with continuations II: Full abstraction for models of control. In: Conference on Lisp and Functional Programming (1990)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Paul Downen
    • 1
  • Zena M. Ariola
    • 1
  1. 1.University of OregonUSA

Personalised recommendations