Abstract
We compare the expressive power of exceptions and continuations when added to a language with local state in the setting of operational semantics. Continuations are shown to be more expressive than exceptions because they can cause a function call to return more than once, whereas exceptions only allow discarding part of the calling context.
Supported by EPSRC grant GR/L54639
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Andrew Appel, David MacQueen, Robin Milner, and Mads Tofte. Unifying exceptions with constructors in Standard ML. Technical Report ECS LFCS 88 55, Laboratory for Foundations of Computer Science, University of Edinburgh, June 1988.
Carl Bruggeman, Oscar Waddell, and R. Kent Dybvig. Representing control in the presence of one-shot continuations. ACM SIGPLAN Notices, 31(5):99–107, May 1996.
Matthias Felleisen. On the expressive power of programming languages. In Science of Computer Programming, volume 17, pages 35–75, 1991.
Andrzej Filinski. Linear continuations. In Proceedings of the Nineteenth Annual ACM Symposium on Principles of Programming Languages, 1992.
Carl A. Gunter, Didier Rémy, and Jon G. Riecke. A generalization of exceptions and control in ML-like languages. In Proceedings of the Seventh International Conference on Functional Programming Languages and Computer Architecture (FPCA’95), pages 12–23, La Jolla, California, June 25–28, 1995. ACM SIGPLAN/SIGARCH and IFIP WG2.8, ACM Press.
Peter J. Landin. A generalization of jumps and labels. Report, UNIVAC Systems Programming Research, August 1965.
Peter J. Landin. A generalization of jumps and labels. Higher-Order and Symbolic Computation, 11(2), 1998. Reprint of [6].
Mark Lillibridge. Exceptions are strictly more powerful than Call/CC. Technical Report CMU-CS-95-178, Carnegie Mellon University, July 1995.
Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. The Definition of Standard ML (Revised). MIT Press, 1997.
John C. Reynolds. Theories of Programming Languages. Cambridge University Press, 1998.
Jon G. Riecke and Hayo Thielecke. Typed exceptions and continuations cannot macro-express each other. In Jirí Wiedermann, Peter van Emde Boas, and Mogens Nielsen, editors, Procedings ICALP’ 99, volume 1644 of LNCS, pages 635–644. Springer Verlag, 1999.
Dorai Sitaram and Matthias Felleisen. Reasoning with continuations II: full abstraction for models of control. In M. Wand, editor, Lisp and Functional Programming. ACM, 1990.
Guy L. Steele. Common Lisp: the Language. Digital Press, 1990.
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.
Mitchell Wand and Dino P. Oliva. Proving the correctness of storage representations. In 1992 ACM Conferenc on Lisp and Functional Programming, pages 151–160. ACM, ACM, August 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Thielecke, H. (2000). On Exceptions Versus Continuations in the Presence of State. In: Smolka, G. (eds) Programming Languages and Systems. ESOP 2000. Lecture Notes in Computer Science, vol 1782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46425-5_26
Download citation
DOI: https://doi.org/10.1007/3-540-46425-5_26
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67262-3
Online ISBN: 978-3-540-46425-9
eBook Packages: Springer Book Archive