Results 1  10
of
36
Notions of Computation and Monads
, 1991
"... The i.calculus is considered a useful mathematical tool in the study of programming languages, since programs can be identified with Iterms. However, if one goes further and uses bnconversion to prove equivalence of programs, then a gross simplification is introduced (programs are identified with ..."
Abstract

Cited by 730 (15 self)
 Add to MetaCart
The i.calculus is considered a useful mathematical tool in the study of programming languages, since programs can be identified with Iterms. However, if one goes further and uses bnconversion to prove equivalence of programs, then a gross simplification is introduced (programs are identified with total functions from calues to values) that may jeopardise the applicability of theoretical results, In this paper we introduce calculi. based on a categorical semantics for computations, that provide a correct basis for proving equivalence of programs for a wide range of notions of computation.
Computational LambdaCalculus and Monads
, 1988
"... The calculus is considered an useful mathematical tool in the study of programming languages, since programs can be identified with terms. However, if one goes further and uses fijconversion to prove equivalence of programs, then a gross simplification 1 is introduced, that may jeopardise the ..."
Abstract

Cited by 439 (6 self)
 Add to MetaCart
The calculus is considered an useful mathematical tool in the study of programming languages, since programs can be identified with terms. However, if one goes further and uses fijconversion to prove equivalence of programs, then a gross simplification 1 is introduced, that may jeopardise the applicability of theoretical results to real situations. In this paper we introduce a new calculus based on a categorical semantics for computations. This calculus provides a correct basis for proving equivalence of programs, independent from any specific computational model. 1 Introduction This paper is about logics for reasoning about programs, in particular for proving equivalence of programs. Following a consolidated tradition in theoretical computer science we identify programs with the closed terms, possibly containing extra constants, corresponding to some features of the programming language under consideration. There are three approaches to proving equivalence of programs: ffl T...
Models of Sharing Graphs: A Categorical Semantics of let and letrec
, 1997
"... To my parents A general abstract theory for computation involving shared resources is presented. We develop the models of sharing graphs, also known as term graphs, in terms of both syntax and semantics. According to the complexity of the permitted form of sharing, we consider four situations of sha ..."
Abstract

Cited by 62 (10 self)
 Add to MetaCart
To my parents A general abstract theory for computation involving shared resources is presented. We develop the models of sharing graphs, also known as term graphs, in terms of both syntax and semantics. According to the complexity of the permitted form of sharing, we consider four situations of sharing graphs. The simplest is firstorder acyclic sharing graphs represented by letsyntax, and others are extensions with higherorder constructs (lambda calculi) and/or cyclic sharing (recursive letrec binding). For each of four settings, we provide the equational theory for representing the sharing graphs, and identify the class of categorical models which are shown to be sound and complete for the theory. The emphasis is put on the algebraic nature of sharing graphs, which leads us to the semantic account of them. We describe the models in terms of the notions of symmetric monoidal categories and functors, additionally with symmetric monoidal adjunctions and traced
A Semantics for Shape
 Science of Computer Programming
, 1995
"... Shapely types separate data, represented by lists, from shape, or structure. This separation supports shape polymorphism, where operations are defined for arbitrary shapes, and shapely operations, for which the shape of the result is determined by that of the input, permitting static shape checking. ..."
Abstract

Cited by 60 (18 self)
 Add to MetaCart
Shapely types separate data, represented by lists, from shape, or structure. This separation supports shape polymorphism, where operations are defined for arbitrary shapes, and shapely operations, for which the shape of the result is determined by that of the input, permitting static shape checking. The shapely types are closed under the formation of fixpoints, and hence include the usual algebraic types of lists, trees, etc. They also include other standard data structures such as arrays, graphs and records. 1 Introduction The values of a shapely type are uniquely determined by their shape and their data. The shape can be thought of as a structure with holes or positions, into which data elements (stored in a list) can be inserted. The use of shape in computing is widespread, but till now it has not, apparently, been the subject of independent study. The body of the paper presents a semantics for shape, based on elementary ideas from category theory. First, let us consider some examp...
BernaysGödel typetheory
 Journal of Pure and Applied Algebra
, 2003
"... . There is a close relationship between category theory and logic. For example, elementary toposes have just enough properties to interpret intuitionistic higherorder logic, and we think of toposes as `categories of sets'. In fact, a topos with a natural numbers object is an adequate universe in ..."
Abstract

Cited by 17 (3 self)
 Add to MetaCart
. There is a close relationship between category theory and logic. For example, elementary toposes have just enough properties to interpret intuitionistic higherorder logic, and we think of toposes as `categories of sets'. In fact, a topos with a natural numbers object is an adequate universe in which to develop intuitionistic mathematics, and such a topos may be seen as a categorical analogue of a model of intuitionistic ZermeloFraenkel settheory. In this paper we implement the categorical analogue of BernaysGodel settheory. We introduce the notion of small structure on a category, and if small structure satises certain axioms we can think of the underlying category as a category of classes. Our axioms imply the existence of a covariant powerset monad on the underlying category of classes, which sends a class to the class of its small subclasses. Simple xed points of this and related monads are shown to be models of intuitionistic ZermeloFraenkel settheory (IZF). ...
Varieties of effects
 In Foundations of Software Science and Computation Structures, volume 2303 of LNCS
, 2002
"... Abstract. We introduce the notion of effectoid as a way of axiomatising the notion of “computational effect”. Guided by classical algebra, we define several effectoids equationally and explore their relationship with each other. We demonstrate their computational relevance by applying them to global ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
Abstract. We introduce the notion of effectoid as a way of axiomatising the notion of “computational effect”. Guided by classical algebra, we define several effectoids equationally and explore their relationship with each other. We demonstrate their computational relevance by applying them to global exceptions, partiality, continuations, and global state. 1
Container Types Categorically
, 2000
"... A program derivation is said to be polytypic if some of its parameters are data types. Often these data types are container types, whose elements store data. Polytypic program derivations necessitate a general, noninductive definition of `container (data) type'. Here we propose such a definition: a ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
A program derivation is said to be polytypic if some of its parameters are data types. Often these data types are container types, whose elements store data. Polytypic program derivations necessitate a general, noninductive definition of `container (data) type'. Here we propose such a definition: a container type is a relator that has membership. It is shown how this definition implies various other properties that are shared by all container types. In particular, all container types have a unique strength, and all natural transformations between container types are strong. Capsule Review Progress in a scientific dicipline is readily equated with an increase in the volume of knowledge, but the true milestones are formed by the introduction of solid, precise and usable definitions. Here you will find the first generic (`polytypic') definition of the notion of `container type', a definition that is remarkably simple and suitable for formal generic proofs (as is amply illustrated in t...
On Refinement of Generic Software Components
 In 10th Int. Conf. Algebraic Methods and Software Technology (AMAST
, 2003
"... This paper characterises refinement of statebased software components modelled as concrete coalgebras for some Set endofunctors. The resulting calculus is parametrized by a specification of the underlying behaviour model introduced as a strong monad. This provides a basis to reason about (and trans ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
This paper characterises refinement of statebased software components modelled as concrete coalgebras for some Set endofunctors. The resulting calculus is parametrized by a specification of the underlying behaviour model introduced as a strong monad. This provides a basis to reason about (and transform) statebased software designs.
Categorical Modelling of Structural Operational Rules  Case Studies
, 1997
"... . This paper aims at substantiating a recently introduced categorical theory of `wellbehaved' operational semantics. A variety of concrete examples of structural operational rules is modelled categorically illustrating the versatility and modularity of the theory. Further, a novel functorial notion ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
. This paper aims at substantiating a recently introduced categorical theory of `wellbehaved' operational semantics. A variety of concrete examples of structural operational rules is modelled categorically illustrating the versatility and modularity of the theory. Further, a novel functorial notion of guardedness is introduced which allows for a general and formal treatment of guarded recursive programs. Introduction The predominant approach to operational semantics is Plotkin's SOS [13], which is based on structural rules. One finds in the literature various formats of structural rules which guarantee a good behaviour such as having adequate denotational models and behavioural equivalence (eg bisimulation) being a congruence. In [17], it is shown that the rules in the best known of these formats, namely GSOS [5], are in 11 correspondence with natural transformations of a suitable type, depending on specific functorial notions of syntax and behaviour. This led to studying abstract ...