Foundations of Symmetric λ-calculus

Bibliographic Information

Other Title
  • 対称λ計算の基礎理論
  • タイショウ ラムダ ケイサン ノ キソ リロン

Search this article

Abstract

Continuations represent “the rest of the computation.” We use control operators in order to manipulate continuations and represent non-local transfer of control. However, it is not easy to represent such a complex control structure in a programming language. To manipulate continuations in a uniform way, this paper presents a calculus, called a symmetric λ-calculus (SLC). It is based on the calculus presented by Filinski, and deals with terms and continuations in a systematic and symmetric way. We formulate this system by small step semantics, and prove that SLC satisfies the basic properties of typed languages, namely progress and preservation. Then, we show the following two transformations: (1) from Felleisen's ΛC-calculus with the control operator C to the call-by-value SLC, and (2) from Parigot's call-by-name λμ-calculus to the call-by-name SLC. These transformations show that SLC is suitable as a base calculus for discussing various aspects of continuations. We expect to relate this symmetry between call-by-value and call-by-name to the symmetry between terms and continuations.

Journal

  • Computer Software

    Computer Software 26 (2), 3-17, 2009

    Japan Society for Software Science and Technology

References(12)*help

See more

Related Projects

See more

Details 詳細情報について

Report a problem

Back to top