Abstract
This paper presents a formalism for including first-class continuations in a programming language as a declarative concept, rather than an imperative one. A symmetric extension of the typed λ-calculus is introduced, where values and continuations play dual roles, permitting mirror-image syntax for dual categorical concepts like products and coproducts. An implementable semantic description and a static type system for this calculus are presented. We also give a categorical description of the language, by presenting a correspondence with a system of combinatory logic, similar to a cartesian closed category, but with a completely symmetrical set of axioms.
Address from Sept. '89: CS Dept., Carnegie Mellon Univ., Pittsburgh, PA 15213-3890
Preview
Unable to display preview. Download preview PDF.
References
P-L. Curien: Categorical Combinators, Sequential Algorithms and Functional Programming, Research Notes in Theoretical Computer Science, Vol. 1, Pitman, 1986
A. Filinski: Master's thesis (forthcoming), DIKU, University of Copenhagen, June 1989
J-Y. Girard: Linear Logic, Theoretical Computer Science, Vol. 50 (1987), pp 1–102
T. Hagino: A Typed Lambda Calculus with Categorical Type Constructors, Proc. Summer Conference on Category Theory and Computer Science, Edinburgh, pp 141–156, LNCS 283
C. Hewitt: Control Structure as Patterns of Passing Messages, Artificial Intelligence: An MIT Perspective, Vol. 2, pp 434–465, MIT Press, 1979
H. Huwig, A. Poigné: A Note on Inconsistencies Caused by Fixpoints in a Cartesian Closed Category, unpublished manuscript (1986)
Y. Lafont: The Linear Abstract Machine, Theoretical Computer Science, Vol. 59 (1988), pp 157–180
J. Lambek and P.J. Scott: Introduction to Higher Order Categorical Logic, Cambridge studies in advanced mathematics, Vol. 7, Cambridge University Press, 1986
J. Rees and W. Clinger (eds): Revised 3 Report on the Algorithmic Language Scheme, Sigplan Notices, Vol. 21, No 12 pp 37–79 (December 1986)
D.E. Rydeheard and R.M. Burstall: Computational Category Theory, Prentice Hall International Series in Computer Science, Prentice Hall, 1988
J.E. Stoy: Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, 1977
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Filinski, A. (1989). Declarative continuations: An investigation of duality in programming language semantics. In: Pitt, D.H., Rydeheard, D.E., Dybjer, P., Pitts, A.M., Poigné, A. (eds) Category Theory and Computer Science. Lecture Notes in Computer Science, vol 389. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0018355
Download citation
DOI: https://doi.org/10.1007/BFb0018355
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51662-0
Online ISBN: 978-3-540-46740-3
eBook Packages: Springer Book Archive