186 research outputs found
A Model of Cooperative Threads
We develop a model of concurrent imperative programming with threads. We
focus on a small imperative language with cooperative threads which execute
without interruption until they terminate or explicitly yield control. We
define and study a trace-based denotational semantics for this language; this
semantics is fully abstract but mathematically elementary. We also give an
equational theory for the computational effects that underlie the language,
including thread spawning. We then analyze threads in terms of the free algebra
monad for this theory.Comment: 39 pages, 5 figure
Fixed-Points for Quantitative Equational Logics
We develop a fixed-point extension of quantitative equational logic and give semantics in one-bounded complete quantitative algebras. Unlike previous related work about fixed-points in metric spaces, we are working with the notion of approximate equality rather than exact equality. The result is a novel theory of fixed points which can not only provide solutions to the traditional fixed-point equations but we can also define the rate of convergence to the fixed point. We show that such a theory is the quantitative analogue of a Conway theory and also of an iteration theory; and it reflects the metric coinduction principle. We study the Bellman equation for a Markov decision process as an illustrative example
JEff: objects for effect
Effect handling is a way to structure and scope side-effects which is gaining popularity as an alternative to monads in purely functional programming languages. Languages with support for effect handling allow the programmer to define idioms for state, exception handling, asynchrony, backtrack-ing, etc. from within the language. Functional programming languages, however, prohibit certain patterns of modular-ity well-known from object-oriented languages. In this paper we introduce JEff, an object-oriented programming language with native support for effect handling, to provide first answers to the question what it would mean to integrate object-oriented programming with effect handling. We illustrate how user-defined effects could benefit from interface polymorphism, and present its runtime semantics and type system
A Language for Biochemical Systems
Abstract. CBS is a Calculus of Biochemical Systems intended to allow the modelling of metabolic, signalling and regulatory networks in a natural and modular manner. In this paper we extend CBS with features directed towards practical, large-scale applications, thus yielding LBS: a Language for Biochemical Systems. The two main extensions are expressions for modifying large complexes in a step-wise manner and parameterised modules with a notion of subtyping; LBS also has nested declarations of species and compartments. The extensions are demonstrated with examples from the yeast pheromone pathway. A formal specification of LBS is then given through an abstract syntax, static semantics and a translation to a variant of coloured Petri nets. Translation to other formalisms such as ordinary differential equations and continuous time Markov chains is also possible
Mixed powerdomains for probability and nondeterminism
We consider mixed powerdomains combining ordinary nondeterminism and
probabilistic nondeterminism. We characterise them as free algebras for
suitable (in)equation-al theories; we establish functional representation
theorems; and we show equivalencies between state transformers and
appropriately healthy predicate transformers. The extended nonnegative reals
serve as `truth-values'. As usual with powerdomains, everything comes in three
flavours: lower, upper, and order-convex. The powerdomains are suitable convex
sets of subprobability valuations, corresponding to resolving nondeterministic
choice before probabilistic choice. Algebraically this corresponds to the
probabilistic choice operator distributing over the nondeterministic choice
operator. (An alternative approach to combining the two forms of nondeterminism
would be to resolve probabilistic choice first, arriving at a domain-theoretic
version of random sets. However, as we also show, the algebraic approach then
runs into difficulties.)
Rather than working directly with valuations, we take a domain-theoretic
functional-analytic approach, employing domain-theoretic abstract convex sets
called Kegelspitzen; these are equivalent to the abstract probabilistic
algebras of Graham and Jones, but are more convenient to work with. So we
define power Kegelspitzen, and consider free algebras, functional
representations, and predicate transformers. To do so we make use of previous
work on domain-theoretic cones (d-cones), with the bridge between the two of
them being provided by a free d-cone construction on Kegelspitzen
Finite Dimensional Vector Spaces Are Complete for Traced Symmetric Monoidal Categories
Abstract. We show that the category FinVectk of finite dimensional vector spaces and linear maps over any field k is (collectively) complete for the traced symmetric monoidal category freely generated from a signature, provided that the field has characteristic 0; this means that for any two different arrows in the free traced category there always exists astrongtracedfunctorintoFinVectk which distinguishes them. Therefore two arrows in the free traced category are the same if and only if they agree for all interpretations in FinVectk.
- …