210 research outputs found
Linearly-Used Continuations in the Enriched Effect Calculus
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
-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 -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 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
Vol. 8(4:2)2012, pp. 1–27 www.lmcs-online.or
Enriching an effect calculus with linear types
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
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
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
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
, which we equip with a sound and coherent
denotational semantics that guarantees the linear use of resources and
execution of finalisation code. We accompany with
examples of runners in action, provide a prototype language implementation in
OCaml, as well as a Haskell library based on .Comment: ESOP 2020 final version + online appendi
From Lock Freedom to Progress Using Session Types
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
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
- …