Skip to main content

Declarative continuations: An investigation of duality in programming language semantics

  • Conference paper
  • First Online:
Category Theory and Computer Science

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 389))

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

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P-L. Curien: Categorical Combinators, Sequential Algorithms and Functional Programming, Research Notes in Theoretical Computer Science, Vol. 1, Pitman, 1986

    Google Scholar 

  2. A. Filinski: Master's thesis (forthcoming), DIKU, University of Copenhagen, June 1989

    Google Scholar 

  3. J-Y. Girard: Linear Logic, Theoretical Computer Science, Vol. 50 (1987), pp 1–102

    Google Scholar 

  4. 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

    Google Scholar 

  5. C. Hewitt: Control Structure as Patterns of Passing Messages, Artificial Intelligence: An MIT Perspective, Vol. 2, pp 434–465, MIT Press, 1979

    Google Scholar 

  6. H. Huwig, A. Poigné: A Note on Inconsistencies Caused by Fixpoints in a Cartesian Closed Category, unpublished manuscript (1986)

    Google Scholar 

  7. Y. Lafont: The Linear Abstract Machine, Theoretical Computer Science, Vol. 59 (1988), pp 157–180

    Google Scholar 

  8. J. Lambek and P.J. Scott: Introduction to Higher Order Categorical Logic, Cambridge studies in advanced mathematics, Vol. 7, Cambridge University Press, 1986

    Google Scholar 

  9. 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)

    Google Scholar 

  10. D.E. Rydeheard and R.M. Burstall: Computational Category Theory, Prentice Hall International Series in Computer Science, Prentice Hall, 1988

    Google Scholar 

  11. J.E. Stoy: Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, 1977

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David H. Pitt David E. Rydeheard Peter Dybjer Andrew M. Pitts Axel Poigné

Rights and permissions

Reprints 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

Publish with us

Policies and ethics