Abstract
Partial continuations are control operators in functional programming such that a function-like object is abstracted from a part of the rest of computation, rather than the whole rest of computation. Several different formulations of partial continuations have been proposed by Felleisen, Danvy&Filinski, Hieb et al, and others, but as far as we know, no one ever studied logic for partial continuations, nor proposed a typed calculus of partial continuations which corresponds to a logical system through the Curry-Howard isomorphism. This paper gives a simple type-theoretic formulation of a form of partial continuations (which we call delimited continuations), and study its properties. Our calculus does reflect the intended operational semantics, and enjoys nice properties such as subject reduction and confluence. By restricting the type of delimiters to be atomic, we obtain the normal form property. We also show a few examples.
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
Kelsey, R., W. Clinger, and J. Rees (eds.): Revised5 Report on the Algorithmic Language Scheme, 1998.
Danvy, O. and A. Filinski: Abstracting Control, Proc. 1990 ACM Conference on Lisp and Functional Programming, pp. 151–160, 1990.
Danvy, O. and A. Filinski: Representing Control: a Study of the CPS Transformation, Mathematical Structures in Computer Science 2(4), pp. 361–391, 1992.
de Groote, P.: A Simple Calculus of Exception Handling, Typed Lambda Calculi and its Applications (Dezani-Ciancaglini, M. and G. Plotkineds.), Lecture Notes in Computer Science 902, pp. 201–215. Springer, 1995.
Felleisen, M., D. Friedman, E. Kohlbecker, and B. Duba: A Syntactic Theory of Sequential Control, Theoretical Computer Science 52, pp. 205–237, 1987.
Felleisen, M.: The Theory and Practice of First-Class Prompts, Proc. 15th ACM Symp. on Principles of Programming Languages, pp. 180–190, 1988.
Felleisen, M., M. Wand, D. Friedman, and B. Duba Abstract Continuations: A Mathematical Semantics for Handling Full Functional Jumps, Proc. 1988 ACM Conf. on Lisp and Functional Programming, pp. 52–62, 1988.
Felleisen, M., and R. Hieb: The Revised Report on the Syntactic Theories of Sequential Control and State, Theoretical Computer Science 103, pp. 235–271, 1992.
Filinski, A.: Representing Monads, Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 446–457, 1994.
Griffin, T.: A Formulae-as-Types Notion of Control, Conference Record of 17th ACM Symp. on Principles of Programming Languages, pp. 47–58, 1990.
Gunter, C. A., D. Remy, and J. G. Riecke: A Generalization of Exceptions and Control in ML-Like Languages, Functional Programming and Computer Architecture, pp. 12–23, 1995.
Harper, R., B. Duba, and D. Macqueen Typing First-Class Continuations in ML, J. Functional Programming 3(4), pp. 465–484, 1993.
Hieb, R., R. Dybvig, and C.W. Anderson: Subcontinuations, Lisp and Symbolic Computation 6, pp. 453–484, 1993.
Kameyama, Y. and M. Sato: Strong Normalizability of the Non-deterministic Catch/Throw Calculii, Theoretical Computer Science, to appear.
Kameyama, Y.: A Type System for Delimited Continuations (Preliminary Version), Workshop on Programming and Programming Languages (PPL2000), Japan Society for Software Science and Technology, Kanzanji, Japan, Mar. 2000.
Ong, C.-H. L. and C.A. Stewart: A Curry-Howard Foundation for Functional Computation, Proc. 24th ACM Symposium on Principles of Programming Languages, pp. 215–227, 1997.
Parigot, M.: λμ-calculus: An Algorithmic Interpretation of Classical Natural Deduction, Lecture Notes in Computer Science 624, Springer, pp. 190–201, 1992.
Sato, M.: Intuitionistic and Classical Natural Deduction Systems with the Catch and the Throw Rules, Theoretical Computer Science Vol. 175, No. 1, pp. 75–92, 1997.
Takahashi, M: Parallel Reductions in λ-Calculus, J. Symbolic Computation 7, 1989, pp. 113–123.
Queinnec, C. and B. Serpette: A Dynamic Extent Control Operator for Partial Continuation, Proc. 18th ACM Symp. on Principles of Programming Languages, pp. 174–184, 1991.
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
Kameyama, Y. (2000). A Type-Theoretic Study on Partial Continuations. In: van Leeuwen, J., Watanabe, O., Hagiya, M., Mosses, P.D., Ito, T. (eds) Theoretical Computer Science: Exploring New Frontiers of Theoretical Informatics. TCS 2000. Lecture Notes in Computer Science, vol 1872. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44929-9_34
Download citation
DOI: https://doi.org/10.1007/3-540-44929-9_34
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67823-6
Online ISBN: 978-3-540-44929-4
eBook Packages: Springer Book Archive