To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
This paper tries to explain why and how category theory is useful in computing science, by giving guidelines for applying seven basic categorical concepts: category, functor, natural transformation, limit, adjoint, colimit and comma category. Some examples, intuition, and references are given for each concept, but completeness is not attempted. Some additional categorical concepts and some suggestions for further research are also mentioned. The paper concludes with some philosophical discussion.
Category theorists invented monads in the 1960's to express concisely certain aspects of universal algebra. Functional programmers invented list comprehensions in the 1970's to express concisely certain programs involving lists. This paper shows how list comprehensions may be generalised to an arbitrary monad, and how the resulting programming feature can express concisely in a pure functional language some programs that manipulate state, handle exceptions, parse text, or invoke continuations. A new solution to the old problem of destructive array update is also presented. No knowledge of category theory is assumed.
In this paper we continue previous work by Sannella, Sokolowski and Tarlecki on parameterization in specification languages. Within the loose approach, we define specification and model level semantics for two kinds of parameterizations (parameterized specifications and specifications of parameterized data types) and describe, in a compositional manner, parameter passing at both levels. Moreover, the specification and the model level semantics of parameter passing are shown to be compatible. We also show that the results obtained do not only apply to the loose approach but can also be directly applicable to the initial framework, and in general to any other kind of monomorphic framework (i.e., a framework where all specifications are monomorphic). In particular, the results obtained generalize and extend previous results for the initial approach. Finally, to obtain our results, new categorical constructions of multiple pushouts, amalgamations and extensions, which generalize standard notions of pushouts, amalgamations and extensions, had to be introduced.
A compositional semantics characterizing bisimulation equivalence is derived from transition system specifications in the SOS style, satisfying certain syntactic syntactic conditions. We use Aczel's nonstandard set theory for solving a recursive equation for a domain fo processes. It contains non-well-founded elements modelling possibly infinite behaviour. Semantic interpretations of syntactic operators are obtained by defining the operational semantics for terms consisting of both syntactic and semantic (processes)entities. Finally, we return to standard set theory by observing that a similar, though less general, result can be obtained with the use of complete metric spaces.
The shuffle product of two words u and v, denoted u‖v, is the set of all words of the form x1y1x2y2…xnyn for some n and for some (possible empty) words x1, …xn, y1, …yn, such that u = x1x2…xn, and v = y1y2…yn. In other words, u‖v is the set of all possible words that can be obtained by merging u and v so that the letters of u and v separately maintain their original orders but are allowed to alternate arbitrarily. The shuffle product of languages L and M, denoted L‖M, is the union of all u‖v for u ∈ L and v ∈ M.
We define a categorical framework, based on the notion of sketch, for specification and evaluation in the senses of algebraic specifications and algebraic programming. This framework goes far beyond our initial motivation, which was to specify computation with algebraic numbers. We begin by redefining sketches in order to deal explicitly with programs. Expressions and terms are carefully defined and studied, then quasi-projective sketches are introduced. We describe static evaluation in these sketches: we propose a rigorous basis for evalution in the corresponding structures. These structures admit an initial model, but are not necessarily equational. In Part II (Duval and Reynaud 1994), we study a more general process, called dynamic evaluation, for structures that may have no initial model.
A polynomial-time algorithm is presented for deciding bisimulation equivalence of so-called Basic Parallel Processes: multisets of elementary processes combined by a commutative parallel-composition operator.
Various notions of observing and testing processes are placed in a uniform algebraic framework in which observations are taken as constituting a quantale. General completeness criteria are stated, and proved in our applications.
We define a simple collection of operations for creating and manipulating record structures, where records are intended as finite associations of values to labels. A second-order type system over these operations supports both subtyping and polymorphism. We provide typechecking algorithms and limited semantic models.
Our approach unifies and extends previous notions of records, bounded quantification, record extension, and parametrization by row-variables. The general aim is to provide foundations for concepts found in object-oriented languages, within a framework based on typed lambda-calculus.
In this work we show how some useful reductions known from ordinary intuitionistic propositional calculus can be modified for Intuitionistic Linear Logic (without modalities). The main reductions we consider are: (1) the reduction of the depth of formulas in the sequents by addition of new variables, and (2) the elimination of linear disjunction, tensor and constant F. Both transformations preserve deducibility, that is, a transformed sequent is deducible if and only if the initial one was deducible. The size of the sequent grows linearly in case (1) and ≤ On8 in case (2).