210 research outputs found

    Linearly-Used Continuations in the Enriched Effect Calculus

    Get PDF
    Under non-commutative Stone duality, there is a correspondence between second countable Hausdorff \'etale groupoids which have a Cantor space of identities and what we call Tarski inverse monoids: that is, countable Boolean inverse ∧\wedge-monoids with semilattices of idempotents which are countable and atomless. Tarski inverse monoids are therefore the algebraic counterparts of the \'etale groupoids studied by Matui and provide a natural setting for many of his calculations. Under this duality, we prove that natural properties of the \'etale groupoid correspond to natural algebraic properties of the Tarski inverse monoid: effective groupoids correspond to fundamental Tarski inverse monoids and minimal groupoids correspond to 00-simplifying Tarski inverse monoids. Particularly interesting are the principal groupoids which correspond to Tarski inverse monoids where every element is a finite join of infinitesimals and idempotents. Here an infinitesimal is simply a non-zero element with square zero. Such inverse monoids are natural infinite generalizations of finite symmetric inverse monoids. The groups of units of fundamental Tarski inverse monoids generalize the finite symmetric groups and include amongst their number the Thompson groups Gn,1G_{n,1} as well as the groups of units of what we term AF inverse monoids, Krieger's ample groups being examples. We characterize such groups as subgroups of particular kinds of the group of homeomorphisms of the Cantor space.Comment: arXiv admin note: substantial text overlap with arXiv:1407.147

    Linear-use CPS translations in the Enriched Effect Calculus

    Full text link

    Enriching an effect calculus with linear types

    Get PDF
    Abstract. We define an enriched effect calculus by extending a type theory for computational effects with primitives from linear logic. The new calculus provides a formalism for expressing linear aspects of computational effects; for example, the linear usage of imperative features such as state and/or continuations. Our main syntactic result is the conservativity of the enriched effect calculus over a basic effect calculus without linear primitives (closely related to Moggi’s computational metalanguage, Filinski’s effect PCF and Levy’s call-by-push-value). The proof of this syntactic theorem makes essential use of a category-theoretic semantics, whose study forms the second half of the paper. Our semantic results include soundness, completeness, the initiality of a syntactic model, and an embedding theorem: every model of the basic effect calculus fully embeds in a model of the enriched calculus. The latter means that our enriched effect calculus is applicable to arbitrary computational effects, answering in the positive a question of Benton and Wadler (LICS 1996).

    Relating Two Semantics of Locally Scoped Names

    Get PDF
    The operational semantics of programming constructs involving locally scoped names typically makes use of stateful "dynamic allocation": a set of currently-used names forms part of the state and upon entering a scope the set is augmented by a new name bound to the scoped identifier. More abstractly, one can see this as a transformation of local scopes by expanding them outward to an implicit top-level. By contrast, in a neglected paper from 1994, Odersky gave a stateless lambda calculus with locally scoped names whose dynamics contracts scopes inward. The properties of "Odersky-style" local names are quite different from dynamically allocated ones and it has not been clear, until now, what is the expressive power of Odersky\u27s notion. We show that in fact it provides a direct semantics of locally scoped names from which the more familiar dynamic allocation semantics can be obtained by continuation-passing style (CPS) translation. More precisely, we show that there is a CPS translation of typed lambda calculus with dynamically allocated names (the Pitts-Stark nu-calculus) into Odersky\u27s lambda-nu-calculus which is computationally adequate with respect to observational equivalence in the two calculi

    The enriched effect calculus: syntax and semantics

    Get PDF
    This paper introduces the enriched effect calculus, which extends established type theories for computational effects with primitives from linear logic. The new calculus provides a formalism for expressing linear aspects of computational effects; for example, the linear usage of imperative features such as state and/or continuations. The enriched effect calculus is implemented as an extension of a basic effect calculus without linear primitives, which is closely related to Moggi’s computational metalanguage, Filinski’s effect PCF and Levy’s call-by-push-value. We present syntactic results showing: the fidelity of the behaviour of the linear connectives of the enriched effect calculus; the conservativity of the enriched effect calculus over its non-linear core (the effect calculus); and the non-conservativity of intuitionistic linear logic when considered as an extension of the enriched effect calculus. The second half of the paper investigates models for the enriched effect calculus, based on enriched category theory. We give several examples of such models, relating them to models of standard effect calculi (such as those based on monads), and to models of intuitionistic linear logic. We also prove soundness and completeness.

    Runners in action

    Full text link
    Runners of algebraic effects, also known as comodels, provide a mathematical model of resource management. We show that they also give rise to a programming concept that models top-level external resources, as well as allows programmers to modularly define their own intermediate "virtual machines". We capture the core ideas of programming with runners in an equational calculus λcoop\lambda_{\mathsf{coop}}, which we equip with a sound and coherent denotational semantics that guarantees the linear use of resources and execution of finalisation code. We accompany λcoop\lambda_{\mathsf{coop}} with examples of runners in action, provide a prototype language implementation in OCaml, as well as a Haskell library based on λcoop\lambda_{\mathsf{coop}}.Comment: ESOP 2020 final version + online appendi

    From Lock Freedom to Progress Using Session Types

    Get PDF
    Inspired by Kobayashi's type system for lock freedom, we define a behavioral type system for ensuring progress in a language of binary sessions. The key idea is to annotate actions in session types with priorities representing the urgency with which such actions must be performed and to verify that processes perform such actions with the required priority. Compared to related systems for session-based languages, the presented type system is relatively simpler and establishes progress for a wider range of processes.Comment: In Proceedings PLACES 2013, arXiv:1312.221

    Polymorphic Endpoint Types for Copyless Message Passing

    Full text link
    We present PolySing#, a calculus that models process interaction based on copyless message passing, in the style of Singularity OS. We equip the calculus with a type system that accommodates polymorphic endpoint types, which are a variant of polymorphic session types, and we show that well-typed processes are free from faults, leaks, and communication errors. The type system is essentially linear, although linearity alone may leave room for scenarios where well-typed processes leak memory. We identify a condition on endpoint types that prevents these leaks from occurring.Comment: In Proceedings ICE 2011, arXiv:1108.014
    • …
    corecore