Results 1  10
of
75
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...
Adhesive categories
, 2004
"... Abstract. We introduce adhesive categories, which are categories with structure ensuring that pushouts along monomorphisms are wellbehaved. Many types of graphical structures used in computer science are shown to be examples of adhesive categories. Doublepushout graph rewriting generalises well to ..."
Abstract

Cited by 35 (7 self)
 Add to MetaCart
Abstract. We introduce adhesive categories, which are categories with structure ensuring that pushouts along monomorphisms are wellbehaved. Many types of graphical structures used in computer science are shown to be examples of adhesive categories. Doublepushout graph rewriting generalises well to rewriting on arbitrary adhesive categories.
ADHESIVE AND QUASIADHESIVE CATEGORIES
 THEORETICAL INFORMATICS AND APPLICATIONS
, 1999
"... We introduce adhesive categories, which are categories with structure ensuring that pushouts along monomorphisms are wellbehaved, as well as quasiadhesive categories which restrict attention to regular monomorphisms. Many examples of graphical structures used in computer science are shown to be ex ..."
Abstract

Cited by 35 (3 self)
 Add to MetaCart
We introduce adhesive categories, which are categories with structure ensuring that pushouts along monomorphisms are wellbehaved, as well as quasiadhesive categories which restrict attention to regular monomorphisms. Many examples of graphical structures used in computer science are shown to be examples of adhesive and quasiadhesive categories. Doublepushout graph rewriting generalizes well to rewriting on arbitrary adhesive and quasiadhesive categories.
Shapely Types and Shape Polymorphism
 Programming Languages and Systems  ESOP '94: 5th European Symposium on Programming
, 1994
"... . 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 checkin ..."
Abstract

Cited by 34 (6 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. They include both arrays and the usual algebraic types (of trees, graphs, etc.), and are closed under the formation of initial algebras. 1 Introduction Consider the operation map which applies a function to each element of a list. In existing functional languages, its type is (ff!fi)!ff list!fi list where ff and fi may range over any types. This data polymorphism allows the data (ff and fi) to vary, but uses a fixed shape, list. Shape polymorphism fixes the data, but allows the shape to vary, so that, for types A and B, instances of map include (A!B)!A tree!B tree and (A!B)!A matrix!B matrix In each case map(f) applies f to the data (the leaves or entries), while leaving the shape fi...
Restriction categories I: Categories of partial maps
 Theoretical Computer Science
, 2001
"... ..."
Developing Theories of Types and Computability via Realizability
, 2000
"... We investigate the development of theories of types and computability via realizability. ..."
Abstract

Cited by 20 (6 self)
 Add to MetaCart
We investigate the development of theories of types and computability via realizability.
Exact Completions and Toposes
 University of Edinburgh
, 2000
"... Toposes and quasitoposes have been shown to be useful in mathematics, logic and computer science. Because of this, it is important to understand the di#erent ways in which they can be constructed. Realizability toposes and presheaf toposes are two important classes of toposes. All of the former and ..."
Abstract

Cited by 13 (4 self)
 Add to MetaCart
Toposes and quasitoposes have been shown to be useful in mathematics, logic and computer science. Because of this, it is important to understand the di#erent ways in which they can be constructed. Realizability toposes and presheaf toposes are two important classes of toposes. All of the former and many of the latter arise by adding "good " quotients of equivalence relations to a simple category with finite limits. This construction is called the exact completion of the original category. Exact completions are not always toposes and it was not known, not even in the realizability and presheaf cases, when or why toposes arise in this way. Exact completions can be obtained as the composition of two related constructions. The first one assigns to a category with finite limits, the "best " regular category (called its regular completion) that embeds it. The second assigns to
Locating Reaction with 2categories
, 2004
"... Groupoidal relative pushouts (GRPOs) have recently been proposed by the authors as a new foundation for Leifer and Milner's approach to deriving labelled bisimulation congruences from reduction systems. In this paper, we develop the theory of GRPOs further, proving that wellknown equivalences, othe ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
Groupoidal relative pushouts (GRPOs) have recently been proposed by the authors as a new foundation for Leifer and Milner's approach to deriving labelled bisimulation congruences from reduction systems. In this paper, we develop the theory of GRPOs further, proving that wellknown equivalences, other than bisimulation, are congruences. To demonstrate the type of category theoretic arguments which are inherent in the 2categorical approach, we construct GRPOs in a category of `bunches and wirings.' Finally, we prove that the 2categorical theory of GRPOs is a generalisation of the approaches based on Milner's precategories and Leifer's functorial reactive systems.
Van Kampen theorems for categories of covering morphisms in lextensive categories
 J. Pure Appl. Algebra
, 1995
"... this paper we show that this is the case if and only if the ground category is "lextensive" (see section 3). Moreover, this form of Van Kampen Theorem holds for many other classes of morphisms, in particular for separable (= decidable) morphisms in the sense of [4]. It turns out that the main condit ..."
Abstract

Cited by 11 (8 self)
 Add to MetaCart
this paper we show that this is the case if and only if the ground category is "lextensive" (see section 3). Moreover, this form of Van Kampen Theorem holds for many other classes of morphisms, in particular for separable (= decidable) morphisms in the sense of [4]. It turns out that the main condition in the general Van Kampen Theorem is that the canonical morphism B 1 +B 2 ! B must be an effective descent morphism. This is satisfied in the topological situation described above. On the other hand this condition is natural, because Grothendieck's original idea of descent arose from the gluing construction for sheaves similar to that used in the Van Kampen Theorem for coverings. Note that our theorem does not include all known results in full generality, such as the topological Van Kampen Theorem under certain homotopical conditions [3, 8.4.2], and Magid's Van Kampen Theorem for (strongly) separable algebras [12] (however, it provides a Van Kampen Theorem for all separable algebras  which is a new result). 1 A general setting for the Van Kampen Theorems