8 research outputs found

    Relational Parametricity and Control

    Full text link
    We study the equational theory of Parigot's second-order λμ-calculus in connection with a call-by-name continuation-passing style (CPS) translation into a fragment of the second-order λ-calculus. It is observed that the relational parametricity on the target calculus induces a natural notion of equivalence on the λμ-terms. On the other hand, the unconstrained relational parametricity on the λμ-calculus turns out to be inconsistent with this CPS semantics. Following these facts, we propose to formulate the relational parametricity on the λμ-calculus in a constrained way, which might be called ``focal parametricity''.Comment: 22 pages, for Logical Methods in Computer Scienc

    Relational Parametricity for Control Considered as a Computational Effect

    Get PDF
    AbstractThis paper investigates parametric polymorphism in the presence of control operators. Our approach is to specialise a general type theory combining polymorphism and computational effects, by extending it with additional constants expressing control. By defining relationally parametric models of this extended calculus, we capture the interaction between parametricity and control. As a worked example, we show that recent results of M. Hasegawa on type definability in the second-order (call-by-name) ΝΟ-calculus arise as special cases of general results valid for arbitrary computational effects

    Relational Parametricity for Computational Effects

    Get PDF
    According to Strachey, a polymorphic program is parametric if it applies a uniform algorithm independently of the type instantiations at which it is applied. The notion of relational parametricity, introduced by Reynolds, is one possible mathematical formulation of this idea. Relational parametricity provides a powerful tool for establishing data abstraction properties, proving equivalences of datatypes, and establishing equalities of programs. Such properties have been well studied in a pure functional setting. Many programs, however, exhibit computational effects, and are not accounted for by the standard theory of relational parametricity. In this paper, we develop a foundational framework for extending the notion of relational parametricity to programming languages with effects.Comment: 31 pages, appears in Logical Methods in Computer Scienc

    Relational Parametricity for Computational Effects

    Get PDF

    Relational Parametricity and Control

    No full text
    We study the equational theory of Parigot's second-orderλμ-calculus in connection with a call-by-name continuation-passingstyle (CPS) translation into a fragment of the second-order λ-calculus.It is observed that the relational parametricity on the target calculus inducesa natural notion of equivalence on the λμ-terms. On the other hand,the unconstrained relational parametricity on the λμ-calculus turnsout to be inconsistent with this CPS semantics. Following these facts, wepropose to formulate the relational parametricity on the λμ-calculusin a constrained way, which might be called ``focal parametricity''.Comment: 22 pages, for Logical Methods in Computer Scienc

    Relational Parametricity and Control

    No full text
    We study the equational theory of Parigot's second-order λμ-calculus in connection with a call-by-name continuation-passing style (CPS) translation into a fragment of the second-order λ-calculus. It is observed that the relational parametricity on the target calculus induces a natural notion of equivalence on the λμ-terms. On the other hand, the unconstrained relational parametricity on the λμ-calculus turns out to be inconsistent with this CPS semantics. Following these facts, we propose to formulate the relational parametricity on the λμ-calculus in a constrained way, which might be called ``focal parametricity''

    Correction on “Relational Parametricity and Control”

    No full text
    In my LICS’05 paper [2] there is a mistake. Below I explain the problem, a condition which fills the gap, and give a correction. This will be incorporated in a forthcoming full version. The Problem In Section 5.2, I introduced two notions of “focus ” — C-focality and P-focality, in terms of the double-negation elimination and the Peirce law respectively — and wrote: C-focal maps are P-focal in λµ2, while P-focal maps are C-focal if ⊥ = ∀X.X satisfies the parametricity condition. It is true that C-focal maps are always P-focal, but it turns out that a P-focal map may not be C-focal even if we assume the parametricity on ⊥ (equivalently the focal initiality of ⊥). A simple counterexample is the constant functions (recall that an arrow f: 1 → A is not focal in a control category unless A is a terminal object [3]). A Missing Condition The gap between the C-focality and P-focality can be filled by adding the following condition to the P-focality: we say that M: σ1 → σ2 is discardable if the following diagram commutes
    corecore