12 research outputs found

    A Simple Proof of a Folklore Theorem about Delimited Control

    Get PDF
    We formalize and prove the folklore theorem that the static delimited-control operators shift and reset can be simulated in terms of the dynamic delimited-control operators control and prompt. The proof is based on a small-step operational semantics that takes the form of an abstract machine

    A Simple Proof of a Folklore Theorem about Delimited Control

    Get PDF
    We formalize and prove the folklore theorem that the static delimited-control operators shift and reset can be simulated in terms of the dynamic delimited-control operators control and prompt. The proof is based on small-step operational semantics

    A continuation-passing-style interpretation of simply-typed call-by-need λ-calculus with control within System F

    Get PDF
    International audienceAriola et al defined a call-by-need λ-calculi with control, together with a sequent calculus presentation of it, and a mechanically generated continuation-passing-style transformation simulating the reduction. We present here a simply-typed version of this calculus and shows that it maps to System F through the continuation-passing-style transformation. This implies in particular the normaliza-tion of this simply-typed call-by-need calculus with control. Incidentally, we treat bound variables for the continuation-passing-style transformation in a precise way using indices rather than up to α-conversion, what makes it directly implementable

    From delimited CPS to polarisation

    Get PDF
    Appeared in the author's PhD thesis (Chapter III) along with more details. See (and cite) Guillaume Munch-Maccagnoni, Syntax and Models of a non-Associative Composition of Programs and Proofs, Université Paris-Diderot - Paris VII, 2013, .The understanding of continuation-passing style (CPS) translations, an historical source of denotational semantics for programming languages, benefits from notions brought by linear logic, such as focalisation, polarities and the involutive negation. Here we aim to show how linear logic helps as well when continuations are delimited, i.e. return and can be composed, in the sense of Danvy and Filinski. First we provide a polarised calculus with delimited control (first-class delimited continuations) which is, at the level of computation, a variant of Girard's polarised classical logic LC. It contains variants of delimited control calculi which spawned as answers to the question "what order of evaluation can we consider with delimited control?". Thus our polarised calculus is one answer which is unifying to some degree. Subsequently we decompose the calculus through polarised linear logic. The only difference with non-delimited continuations is the use of specific exponentials, that account for the specific semantics of the target of delimited CPS translation, as well as annotations of type-and-effect systems. As a by-product, we obtain an explanation of CPS translations through a factoring, each step of which accounts for distinct phenomena of CPS translations. Although the factoring also holds for non-delimited CPS translations, it did not appear in its entirety before

    An Operational Foundation for Delimited Continuations in<br><br> the<br><br><br> CPS<br><br> Hierarchy

    Get PDF
    We present an abstract machine and a reduction semantics for the lambda-calculus extended with control operators that give access to delimited continuations in the CPS hierarchy. The abstract machine is derived from an evaluator in continuation-passing style (CPS); the reduction semantics (i.e., a small-step operational semantics with an explicit representation of evaluation contexts) is constructed from the abstract machine; and the control operators are the shift and reset family. We also present new applications of delimited continuations in the CPS hierarchy: finding list prefixes and normalization by evaluation for a hierarchical language of units and products.Comment: 39 page

    λμ-calculus and Λμ-calculus: a Capital Difference

    Get PDF
    Since Parigot designed the λμ-calculus to algorithmically interpret classical natural deduction, several variants of λμ-calculus have been proposed. Some of these variants derived from an alteration of the original syntax due to de Groote, leading in particular to the Λμ-calculus of the second author, a calculus truly different from λμ-calculus since, in the untyped case, it provides a Böhm separation theorem that the original calculus does not satisfy. In addition to a survey of some aspects of the history of λμ-calculus, we study connections between Parigot's calculus and the modified syntax by means of an additional toplevel continuation. This analysis is twofold: first we relate λμ-calculus and Λμ-calculus in the typed case using λμtp-calculus, which contains a toplevel continuation constant tp, and then we use calculi of the family of λμtp-calculi, containing a toplevel continuation variable tp, to study the untyped setting and in particular relate calculi in the modified syntax

    Delimited dynamic binding

    Full text link
    corecore