Results 1 - 10
of
37
A Categorical Programming Language
, 1987
"... A theory of data types and a programming language based on category theory are presented. Data types play a crucial role in programming. They enable us to write programs easily and elegantly. Various programming languages have been developed, each of which may use different kinds of data types. Ther ..."
Abstract
-
Cited by 62 (0 self)
- Add to MetaCart
A theory of data types and a programming language based on category theory are presented. Data types play a crucial role in programming. They enable us to write programs easily and elegantly. Various programming languages have been developed, each of which may use different kinds of data types. Therefore, it becomes important to organize data types systematically so that we can understand the relationship between one data type and another and investigate future directions which lead us to discover exciting new data types. There have been several approaches to systematically organize data types: algebraic specification methods using algebras, domain theory using complete partially ordered sets and type theory using the connection between logics and data types. Here, we use category theory. Category theory has proved to be remarkably good at revealing the nature of mathematical objects, and we use it to understand the true nature of data types in programming.
Hope: An Experimental Applicative Language
, 1980
"... An applicative language called HOPE is described and discussed. The underlying goal of the design and implementation effort was to produce a very simple programming language which encourages the construction of clear and manipulable programs. HOPE does not include an assignment statement; this is fe ..."
Abstract
-
Cited by 35 (3 self)
- Add to MetaCart
An applicative language called HOPE is described and discussed. The underlying goal of the design and implementation effort was to produce a very simple programming language which encourages the construction of clear and manipulable programs. HOPE does not include an assignment statement; this is felt to be an important simplification. The user may freely define his own data types, without the need to devise a complicated encoding in terms of low-level types. The language is very strongly typed, and as implemented it incorporates a typechecker which handles polymorphic types and overloaded operators. Functions are defined by a set of recursion equations; the left-hand side of each equation includes a pattern used to determine which equation to use for a given argument. The availability of arbitrary higher-order types allows functions to be defined which 'package' recursion. Lazily-evaluated lists are provided, allowing the use of infinite lists which could be used to provide interactive input/output and concurrency.
Semantic Lego
, 1995
"... Denotational semantics [Sch86] is a powerful framework for describing programming languages; however, its descriptions lack modularity: conceptually independent language features influence each others' semantics. We address this problem by presenting a theory of modular denotational semantics. Follo ..."
Abstract
-
Cited by 35 (0 self)
- Add to MetaCart
Denotational semantics [Sch86] is a powerful framework for describing programming languages; however, its descriptions lack modularity: conceptually independent language features influence each others' semantics. We address this problem by presenting a theory of modular denotational semantics. Following Mosses [Mos92], we divide a semantics into two parts, a computation ADT and a language ADT (abstract data type). The computation ADT represents the basic semantic structure of the language. The language ADT represents the actual language constructs, as described by a grammar. We define the language ADT using the computation ADT; in fact, language constructs are polymorphic over many different computation ADTs. Following Moggi [Mog89a], we build the computation ADT from composable parts, using monads and monad transformers. These techniques allow us to build many different computation ADTs, and, since our language constructs are polymorphic, many different language semantics. We autom...
Declarative Continuations and Categorical Duality
, 1989
"... This thesis presents a formalism for reasoning about continuations in a categorical setting. It points out how values and continuations ca n be seen as categorically dual concepts, and that this symmetry extends to not only data types, but also control structures, evaluation strategies and higher-or ..."
Abstract
-
Cited by 27 (0 self)
- Add to MetaCart
This thesis presents a formalism for reasoning about continuations in a categorical setting. It points out how values and continuations ca n be seen as categorically dual concepts, and that this symmetry extends to not only data types, but also control structures, evaluation strategies and higher-order constructs. The central idea is a view of continuations as a declarative concept, rather than an imperative one, and the implicat ions of this make up the spine of the presentation. A symmetrical extension of the typed *-calculus is introduced, where values and continuations are treated as opposites, permitting a mirror-image syntax for dual categorical concepts like products and coproducts. An implementable semantic description and a static type system for this calculus are given. A purely categorical description of the language is also obtained, through a correspondence with a system of combinatory logic, similar to a cartesian closed category, but with a completely symmetrical set of axioms. Finally, a number of possible practical applications and directions for further research are suggested.
Analysis of inconsistency in graph-based viewpoints
- In ASE
, 2003
"... Eliciting the requirements for a proposed system typically involves different stakeholders with different expertise, responsibilities, and perspectives. Viewpoints-based approaches have been proposed as a way to manage incomplete and inconsistent models gathered from multiple sources. In this paper, ..."
Abstract
-
Cited by 27 (11 self)
- Add to MetaCart
Eliciting the requirements for a proposed system typically involves different stakeholders with different expertise, responsibilities, and perspectives. Viewpoints-based approaches have been proposed as a way to manage incomplete and inconsistent models gathered from multiple sources. In this paper, we propose a category-theoretic framework for the analysis of fuzzy viewpoints. Informally, a fuzzy viewpoint is a graph in which the elements of a lattice are used to specify the amount of knowledge available about the details of nodes and edges. By defining an appropriate notion of morphism between fuzzy viewpoints, we construct categories of fuzzy viewpoints and prove that these categories are (finitely) cocomplete. We then show how colimits can be employed to merge the viewpoints and detect the inconsistencies that arise independent of any particular choice of viewpoint semantics. We illustrate an application of the framework through a case-study showing how fuzzy viewpoints can serve as a requirements elicitation tool in reactive systems. 1
Constructive Category Theory
- IN PROCEEDINGS OF THE JOINT CLICS-TYPES WORKSHOP ON CATEGORIES AND TYPE THEORY, GOTEBORG
, 1998
"... ..."
View merging in the presence of incompleteness and inconsistency
- Requir. Eng
, 2006
"... View merging, also called view integration, is a key problem in conceptual modeling. Large models are often constructed and accessed by manipulating individual views, but it is important to be able to consolidate a set of views to gain a unified perspective, to understand interactions between views, ..."
Abstract
-
Cited by 24 (10 self)
- Add to MetaCart
View merging, also called view integration, is a key problem in conceptual modeling. Large models are often constructed and accessed by manipulating individual views, but it is important to be able to consolidate a set of views to gain a unified perspective, to understand interactions between views, or to perform various types of analysis. View merging is complicated by incompleteness and inconsistency: Stakeholders often have varying degrees of confidence about their statements. Their views capture different but overlapping aspects of a problem, and may have discrepancies over the terminology being used, the concepts being modeled, or how these concepts should be structured. Once views are merged, it is important to be able to trace the elements of the merged view back to their sources and to the merge assumptions related to them. In this paper, we present a framework for merging incomplete and inconsistent graph-based views. We introduce a formalism, called annotated graphs, with a built-in annotation scheme for modeling incompleteness and inconsistency. We show how structure-preserving maps can be employed to express the relationships between disparate views modeled as annotated graphs, and provide a general algorithm for merging views with arbitrary interconnections. We provide a systematic way to generate and represent the traceability information required for tracing the merged view elements back to their sources, and to the merge assumptions giving rise to the elements.
Extracting a Proof of Coherence for Monoidal Categories from a Proof of Normalization for Monoids
- In TYPES
, 1995
"... . This paper studies the problem of coherence in category theory from a type-theoretic viewpoint. We first show how a Curry-Howard interpretation of a formal proof of normalization for monoids almost directly yields a coherence proof for monoidal categories. Then we formalize this coherence proof in ..."
Abstract
-
Cited by 16 (3 self)
- Add to MetaCart
. This paper studies the problem of coherence in category theory from a type-theoretic viewpoint. We first show how a Curry-Howard interpretation of a formal proof of normalization for monoids almost directly yields a coherence proof for monoidal categories. Then we formalize this coherence proof in intensional intuitionistic type theory and show how it relies on explicit reasoning about proof objects for intensional equality. This formalization has been checked in the proof assistant ALF. 1 Introduction Mac Lane [18, pp.161--165] proved a coherence theorem for monoidal categories. A basic ingredient in his proof is the normalization of object expressions. But it is only one ingredient and several others are needed too. Here we show that almost a whole proof of this coherence theorem is hidden in a Curry-Howard interpretation of a proof of normalization for monoids. The second point of the paper is to contribute to the development of constructive category theory in the sense of Huet a...
Galois Connections Presented Calculationally.
, 1992
"... properties of Galois connections 29 4.1 Pre-orders : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 30 4.1.1 Calculating in pre-orders : : : : : : : : : : : : : : : : : : : : : : : : 30 4.1.2 Alternative definitions : : : : : : : : : : : : : : : : : : : : : : : : : 33 4.1.3 Un ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
properties of Galois connections 29 4.1 Pre-orders : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 30 4.1.1 Calculating in pre-orders : : : : : : : : : : : : : : : : : : : : : : : : 30 4.1.2 Alternative definitions : : : : : : : : : : : : : : : : : : : : : : : : : 33 4.1.3 Uniqueness of adjoints in a pre-order : : : : : : : : : : : : : : : : : 34 4.2 Partial orders : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35 4.2.1 More cancellation laws : : : : : : : : : : : : : : : : : : : : : : : : : 35 4.2.2 Existence of adjoints : : : : : : : : : : : : : : : : : : : : : : : : : : 36 4.2.3 The closure connection : : : : : : : : : : : : : : : : : : : : : : : : : 40 4.2.4 "Perfect" connections : : : : : : : : : : : : : : : : : : : : : : : : : : 41 4.3 Complete lattices : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 44 i 5 Application: The Domain Operator 47 5.1 Monotypes : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :...
Prototyping a Categorical Database in P/FDM
- In Second International Workshop on Advances in Databases and Information Systems ADBIS'95
, 1995
"... The relational data model uses set theory to provide a formal background, thus ensuring a rigorous mathematical data model with support for manipulation. The newer generation database models are based on the object--oriented programming paradigm, and so fall short of having a formal background, espe ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
The relational data model uses set theory to provide a formal background, thus ensuring a rigorous mathematical data model with support for manipulation. The newer generation database models are based on the object--oriented programming paradigm, and so fall short of having a formal background, especially in some of the more complex data manipulation areas. We use category theory to provide a formalism for object databases, known as the product model. This paper will describe our formal model for the key aspects of object databases. In particular, we will examine how this model deals with three of the most important problems inherent in object databases, those of queries, closure and views. As well as this, we investigate the more common database concepts, such as keys, relationships, aggregation, etc. We will implement a prototype of this model using P/FDM, a semantic data model database system based on the functional model of Shipman, with object--oriented extensions. 1 Introduction ...

