A type-theoretic foundation of delimited continuations
Autor: | Hugo Herbelin, Zena M. Ariola, Amr Sabry |
---|---|
Přispěvatelé: | Department of Computer and Information Science, University of Oregon [Eugene], Logic and computing (LOGICAL), Université Paris-Sud - Paris 11 (UP11)-Inria Saclay - Ile de France, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-École polytechnique (X)-Centre National de la Recherche Scientifique (CNRS), Computer Science Department, Indiana University [Bloomington], Indiana University System-Indiana University System |
Rok vydání: | 2007 |
Předmět: |
reset
ACM: F.: Theory of Computation/F.4: MATHEMATICAL LOGIC AND FORMAL LANGUAGES/F.4.1: Mathematical Logic/F.4.1.7: Proof theory Computer science Delimited continuation 0102 computer and information sciences 02 engineering and technology computer.software_genre 01 natural sciences normalisation Continuation store-passing-style 0202 electrical engineering electronic engineering information engineering Calculus Continuation-passing style effects prompt computer.programming_language [INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL] Programming language delimited continuations continuation-passing-style Classical logic typing Subtraction [INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO] 020207 software engineering shift 16. Peace & justice Monad (functional programming) ACM: D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.3: Language Constructs and Features/D.3.3.4: Control structures Computer Science Applications ACM: F.: Theory of Computation/F.4: MATHEMATICAL LOGIC AND FORMAL LANGUAGES/F.4.1: Mathematical Logic/F.4.1.2: Lambda calculus and related systems Variable (computer science) TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES 010201 computation theory & mathematics TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS subtraction Lambda calculus control computer Software subcontinuation |
Zdroj: | Higher-Order and Symbolic Computation Higher-Order and Symbolic Computation, Springer Verlag, 2007 Higher-Order and Symbolic Computation, 2007 |
ISSN: | 1573-0557 1388-3690 |
Popis: | International audience; There is a correspondence between classical logic and programming language calculi with first-class continuations. With the addition of control delimiters, the continuations become composable and the calculi become more expressive. We present a fine-grained analysis of control delimiters and formalise that their addition corresponds to the addition of a single dynamically-scoped variable modelling the special top-level continuation. From a type perspective, the dynamically-scoped variable requires effect annotations. In the presence of control, the dynamically-scoped variable can be interpreted in a purely functional way by applying a store-passing style. At the type level, the effect annotations are mapped within standard classical logic extended with the dual of implication, namely subtraction. A continuation-passing-style transformation of lambda-calculus with control and subtraction is defined. Combining the translations provides a decomposition of standard CPS transformations for delimited continuations. Incidentally, we also give a direct normalisation proof of the simply-typed lambda-calculus with control and subtraction. |
Databáze: | OpenAIRE |
Externí odkaz: |