Declarative continuations: An investigation of duality in programming language semantics

  • Andrzej Filinski
Conference paper
Part of the Lecture Notes in Computer Science book series (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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Curien 86]
    P-L. Curien: Categorical Combinators, Sequential Algorithms and Functional Programming, Research Notes in Theoretical Computer Science, Vol. 1, Pitman, 1986Google Scholar
  2. [Filinski 89]
    A. Filinski: Master's thesis (forthcoming), DIKU, University of Copenhagen, June 1989Google Scholar
  3. [Girard 87]
    J-Y. Girard: Linear Logic, Theoretical Computer Science, Vol. 50 (1987), pp 1–102Google Scholar
  4. [Hagino 87]
    T. Hagino: A Typed Lambda Calculus with Categorical Type Constructors, Proc. Summer Conference on Category Theory and Computer Science, Edinburgh, pp 141–156, LNCS 283Google Scholar
  5. [Hewitt 79]
    C. Hewitt: Control Structure as Patterns of Passing Messages, Artificial Intelligence: An MIT Perspective, Vol. 2, pp 434–465, MIT Press, 1979Google Scholar
  6. [Huwig & Poigné 86]
    H. Huwig, A. Poigné: A Note on Inconsistencies Caused by Fixpoints in a Cartesian Closed Category, unpublished manuscript (1986)Google Scholar
  7. [Lafont 88]
    Y. Lafont: The Linear Abstract Machine, Theoretical Computer Science, Vol. 59 (1988), pp 157–180Google Scholar
  8. [Lambek & Scott 86]
    J. Lambek and P.J. Scott: Introduction to Higher Order Categorical Logic, Cambridge studies in advanced mathematics, Vol. 7, Cambridge University Press, 1986Google Scholar
  9. [Rees & Clinger 86]
    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. [Rydeheard & Burstall 88]
    D.E. Rydeheard and R.M. Burstall: Computational Category Theory, Prentice Hall International Series in Computer Science, Prentice Hall, 1988Google Scholar
  11. [Stoy 77]
    J.E. Stoy: Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, 1977Google Scholar

Copyright information

© Springer-Verlag 1989

Authors and Affiliations

  • Andrzej Filinski
    • 1
  1. 1.DIKU — Computer Science DepartmentUniversity of CopenhagenCopenhagen ØDenmark

Personalised recommendations