Date: 09 Jun 2005

Declarative continuations: An investigation of duality in programming language semantics

* Final gross prices may vary according to local VAT.

Get Access


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