Results 1 - 10
of
65
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 57 (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...
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 32 (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...
Adhesive categories
, 2004
"... Abstract. We introduce adhesive categories, which are categories with structure ensuring that pushouts along monomorphisms are well-behaved. Many types of graphical structures used in computer science are shown to be examples of adhesive categories. Double-pushout graph rewriting generalises well to ..."
Abstract
-
Cited by 31 (7 self)
- Add to MetaCart
Abstract. We introduce adhesive categories, which are categories with structure ensuring that pushouts along monomorphisms are well-behaved. Many types of graphical structures used in computer science are shown to be examples of adhesive categories. Double-pushout 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 well-behaved, 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 27 (3 self)
- Add to MetaCart
We introduce adhesive categories, which are categories with structure ensuring that pushouts along monomorphisms are well-behaved, 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. Double-pushout graph rewriting generalizes well to rewriting on arbitrary adhesive and quasiadhesive categories.
Developing Theories of Types and Computability via Realizability
, 2000
"... We investigate the development of theories of types and computability via realizability. ..."
Abstract
-
Cited by 18 (6 self)
- Add to MetaCart
We investigate the development of theories of types and computability via realizability.
Restriction categories I: Categories of partial maps
- Theoretical Computer Science
, 2001
"... ..."
Exact Completions and Toposes
- University of Edinburgh
, 2000
"... Toposes and quasi-toposes 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 11 (3 self)
- Add to MetaCart
Toposes and quasi-toposes 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 2-categories
, 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 well-known equivalences, othe ..."
Abstract
-
Cited by 10 (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 well-known equivalences, other than bisimulation, are congruences. To demonstrate the type of category theoretic arguments which are inherent in the 2-categorical approach, we construct GRPOs in a category of `bunches and wirings.' Finally, we prove that the 2-categorical 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 10 (7 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

