A Type-Theoretic Study on Partial Continuations

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.

[1]  Robert Harper,et al.  Typing first-class continuations in ML , 1991, POPL '91.

[2]  Didier Rémy,et al.  A generalization of exceptions and control in ML-like languages , 1995, FPCA '95.

[3]  Masahiko Sato,et al.  Intuitionistic and Classical Natural Deduction Systems with the Catch and the Throw Rules , 1997, Theor. Comput. Sci..

[4]  Frank Pfenning,et al.  Logic Programming and Automated Reasoning , 1994, Lecture Notes in Computer Science.

[5]  Olivier Danvy,et al.  Representing Control: a Study of the CPS Transformation , 1992, Mathematical Structures in Computer Science.

[6]  Andrzej Filinski,et al.  Representing monads , 1994, POPL '94.

[7]  Olivier Danvy,et al.  Abstracting control , 1990, LISP and Functional Programming.

[8]  C.-H. Luke Ong,et al.  A Curry-Howard foundation for functional computation with control , 1997, POPL '97.

[9]  Masako Takahashi,et al.  Parallel Reductions in lambda-Calculus , 1989, J. Symb. Comput..

[10]  Robert Hieb,et al.  The Revised Report on the Syntactic Theories of Sequential Control and State , 1992, Theor. Comput. Sci..

[11]  Matthias Felleisen,et al.  The theory and practice of first-class prompts , 1988, POPL '88.

[12]  Matthias Felleisen,et al.  A Syntactic Theory of Sequential Control , 1987, Theor. Comput. Sci..

[13]  Philippe de Groote,et al.  A Simple Calculus of Exception Handling , 1995, TLCA.

[14]  Timothy G. Griffin,et al.  A formulae-as-type notion of control , 1989, POPL '90.

[15]  Matthias Felleisen,et al.  Abstract continuations: a mathematical semantics for handling full jumps , 1988, LISP and Functional Programming.

[16]  Robert Harper,et al.  Typing first-class continuations in ML , 1991, POPL '91.

[17]  Christian Queinnec,et al.  A dynamic extent control operator for partial continuations , 1991, POPL '91.

[18]  Michel Parigot,et al.  Lambda-Mu-Calculus: An Algorithmic Interpretation of Classical Natural Deduction , 1992, LPAR.