15 research outputs found

    A Semantic analysis of control

    Get PDF
    This thesis examines the use of denotational semantics to reason about control flow in sequential, basically functional languages. It extends recent work in game semantics, in which programs are interpreted as strategies for computation by interaction with an environment. Abramsky has suggested that an intensional hierarchy of computational features such as state, and their fully abstract models, can be captured as violations of the constraints on strategies in the basic functional model. Non-local control flow is shown to fit into this framework as the violation of strong and weak `bracketing' conditions, related to linear behaviour. The language muPCF (Parigot's mu_lambda with constants and recursion) is adopted as a simple basis for higher-type, sequential computation with access to the flow of control. A simple operational semantics for both call-by-name and call-by-value evaluation is described. It is shown that dropping the bracketing condition on games models of PCF yields fully abstract models of muPCF. The games models of muPCF are instances of a general construction based on a continuations monad on Fam(C), where C is a rational cartesian closed category with infinite products. Computational adequacy, definability and full abstraction can then be captured by simple axioms on C. The fully abstract and universal models of muPCF are shown to have an effective presentation in the category of Berry-Curien sequential algorithms. There is further analysis of observational equivalence, in the form of a context lemma, and a characterization of the unique functor from the (initial) games model, which is an isomorphism on its (fully abstract) quotient. This establishes decidability of observational equivalence for finitary muPCF, contrasting with the undecidability of the analogous relation in pure PCF

    Combining and Relating Control Effects and their Semantics

    Full text link
    Combining local exceptions and first class continuations leads to programs with complex control flow, as well as the possibility of expressing powerful constructs such as resumable exceptions. We describe and compare games models for a programming language which includes these features, as well as higher-order references. They are obtained by contrasting methodologies: by annotating sequences of moves with "control pointers" indicating where exceptions are thrown and caught, and by composing the exceptions and continuations monads. The former approach allows an explicit representation of control flow in games for exceptions, and hence a straightforward proof of definability (full abstraction) by factorization, as well as offering the possibility of a semantic approach to control flow analysis of exception-handling. However, establishing soundness of such a concrete and complex model is a non-trivial problem. It may be resolved by establishing a correspondence with the monad semantics, based on erasing explicit exception moves and replacing them with control pointers.Comment: In Proceedings COS 2013, arXiv:1309.092

    Sequentiality vs. Concurrency in Games and Logic

    Full text link
    Connections between the sequentiality/concurrency distinction and the semantics of proofs are investigated, with particular reference to games and Linear Logic.Comment: 35 pages, appeared in Mathematical Structures in Computer Scienc

    Realizability for Peano Arithmetic with Winning Conditions in HON Games

    Get PDF
    International audienceWe build a realizability model for Peano arithmetic based on winning conditions for HON games. First we define a notion of winning strategies on arenas equipped with winning conditions. We prove that the interpretation of a classical proof of a formula is a winning strategy on the arena with winning condition corresponding to the formula. Finally we apply this to Peano arithmetic with relativized quantifications and give the example of witness extraction for Π 0 2 -formulas

    Process types as a descriptive tool for interaction

    Get PDF
    We demonstrate a tight relationship between linearly typed π-calculi and typed λ-calculi by giving a type-preserving translation from the call-by-value λµ-calculus into a typed π-calculus. The λµ-calculus has a particularly simple representation as typed mobile processes. The target calculus is a simple variant of the linear π-calculus. We establish full abstraction up to maximally consistent observational congruences in source and target calculi using techniques from games semantics and process calculi

    On the Static and Dynamic Extents of Delimited Continuations

    Get PDF
    We show that breadth-first traversal exploits the difference between the static delimited-control operator shift (alias S) and the dynamic delimited-control operator control (alias F). For the last 15 years, this difference has been repeatedly mentioned in the literature but it has only been illustrated with one-line toy examples. Breadth-first traversal fills this vacuum. We also point out where static delimited continuations naturally give rise to the notion of control stack whereas dynamic delimited continuations can be made to account for a notion of `control queue.'

    Control in the π-calculus

    Get PDF
    This paper presents a type-preserving translation from the call-by-value -calculus ( v-calculus) into a typed -calculus, and shows full abstraction up to maximally consistent observational congruences in both calculi. The -calculus has a particularly simple representation as typed mobile processes where a unique stateless replicated input is associated to each name. The corresponding -calculus is a proper subset of the linear -calculus, the latter being able to embed the simplytyped -calculus fully abstractly. Strong normalisability of the v-calculus is an immediate consequence of this correspondence and the strong normalisability of the linear -calculus, using the standard argument based on simulation between the v-calculus and its translation. Full abstraction, our main result, is proved via an inverse transformation from the typed -terms which inhabit the encoded v-types into the v-calculus (the so-called de nability argument), using proof techniques from games semantics and process calculi. A tight operational correspondence assisted by the de nability result opens a possibility to use typed -calculi as a tool to investigate and analyse behaviours of various control operators and associated calculi in a uniform setting, possibly integrated with other language primitives and operational structures

    \Sigma\Pi-polycategories, additive linear logic, and process semantics

    Full text link
    We present a process semantics for the purely additive fragment of linear logic in which formulas denote protocols and (equivalence classes of) proofs denote multi-channel concurrent processes. The polycategorical model induced by this process semantics is shown to be equivalent to the free polycategory based on the syntax (i.e., it is full and faithfully complete). This establishes that the additive fragment of linear logic provides a semantics of concurrent processes. Another property of this semantics is that it gives a canonical representation of proofs in additive linear logic. This arXived version omits Section 1.7.1: "Circuit diagrams for polycategories" as the Xy-pic diagrams would not compile due to lack of memory. For a complete version see "http://www.cpsc.ucalgary.ca/~pastroc/".Comment: 175 pages, University of Calgary Master's thesi
    corecore