Results 1  10
of
101
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 63 (18 self)
 Add to MetaCart
(Show Context)
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 41 (7 self)
 Add to MetaCart
(Show Context)
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 37 (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 36 (6 self)
 Add to MetaCart
(Show Context)
. 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
"... ..."
(Show Context)
Developing Theories of Types and Computability via Realizability
, 2000
"... We investigate the development of theories of types and computability via realizability. ..."
Abstract

Cited by 21 (6 self)
 Add to MetaCart
(Show Context)
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 14 (4 self)
 Add to MetaCart
(Show Context)
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 &quot;good &quot; 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 &quot;best &quot; regular category (called its regular completion) that embeds it. The second assigns to
Van Kampen theorems for categories of covering morphisms in lextensive categories
 JOURNAL OF PURE AND APPLIED ALGEBRA
, 1997
"... We give a form of the Van Kampen Theorem involving covering morphisms in a lextensive category. This includes the usual results for covering maps of locally connected spaces, for light maps of compact Hausdorff spaces, and for locally strong separable algebras. ..."
Abstract

Cited by 13 (8 self)
 Add to MetaCart
We give a form of the Van Kampen Theorem involving covering morphisms in a lextensive category. This includes the usual results for covering maps of locally connected spaces, for light maps of compact Hausdorff spaces, and for locally strong separable algebras.
Remarks on isomorphisms in typed lambda calculi with empty and sum types
 In Proc. of the 17 th Annual IEEE Symposium on Logic in Computer Science (LICS’02
, 2002
"... Tarski asked whether the arithmetic identities taught in high school are complete for showing all arithmetic equations valid for the natural numbers. The answer to this question for the language of arithmetic expressions using a constant for the number one and the operations of product and exponenti ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
Tarski asked whether the arithmetic identities taught in high school are complete for showing all arithmetic equations valid for the natural numbers. The answer to this question for the language of arithmetic expressions using a constant for the number one and the operations of product and exponentiation is affirmative, and the complete equational theory also characterises isomorphism in the typed lambda calculus, where the constant for one and the operations of product and exponentiation respectively correspond to the unit type and the product and arrow type constructors. This paper studies isomorphisms in typed lambda calculi with empty and sum types from this viewpoint. We close an open problem by establishing that the theory of type isomorphisms in the presence of product, arrow, and sum types (with or without the unit type) is not finitely axiomatisable. Further, we observe that for type theories with arrow, empty and sum types the correspondence between isomorphism and arithmetic equality generally breaks down, but that it still holds in some particular cases including that of type isomorphism with the empty type and equality with zero. 1