Results 11 -
18 of
18
A Categorical Account of Two-Level Languages
- In MFPS
, 1997
"... We give an account of two-level languages in terms of indexed categories and universal properties well-known in the context of categorical logic. This account provides three important insights: establishes precise analogies between two-level languages and module languages, explains the two-level lan ..."
Abstract
-
Cited by 18 (4 self)
- Add to MetaCart
We give an account of two-level languages in terms of indexed categories and universal properties well-known in the context of categorical logic. This account provides three important insights: establishes precise analogies between two-level languages and module languages, explains the two-level languages used in partial evaluation (see [7]) in terms of those used for code generation (see [16]), suggests extensions that should be valuable for type-specialization (see [9]) and shape-analysis (see [1]).
From Hindley-Milner types to first-class structures
- In Proceedings of the Haskell Workshop
, 1995
"... We describe extensions of the Hindley-Milner type system to support higher-order polymorphism and first-class structures with polymorphic components. The combination of these features results in a ‘core language ’ that rivals the expressiveness of the Standard ML module system in some respects and e ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
We describe extensions of the Hindley-Milner type system to support higher-order polymorphism and first-class structures with polymorphic components. The combination of these features results in a ‘core language ’ that rivals the expressiveness of the Standard ML module system in some respects and exceeds it in others. 1
A Characterization Of Lambda Definability In Categorical Models Of Implicit Polymorphism
- Theoretical Computer Science
, 1995
"... . Lambda definability is characterized in categorical models of simply typed lambda calculus with type variables. A category-theoretic framework known as glueing or sconing is used to extend the Jung-Tiuryn characterization of lambda definability [JuT93], first to ccc models, and then to categor ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
. Lambda definability is characterized in categorical models of simply typed lambda calculus with type variables. A category-theoretic framework known as glueing or sconing is used to extend the Jung-Tiuryn characterization of lambda definability [JuT93], first to ccc models, and then to categorical models of the calculus with type variables. Logical relations are now a well-established tool for studying the semantics of various typed lambda calculi. The main lines of research are focused in two areas, the first of which strives for an understanding of Strachey's notion of parametric polymorphism. The main idea is that a parametricly polymorphic function acts independently from the types to which its type variables are instantiated, and that this uniformity may be captured by imposing a relational structure on the types [OHT93, MSd93, MaR91, Wad89, Rey83, Str67]. The other line of research concerns lambda definability and the full abstraction problem for various models of languag...
Relational Databases and Indexed Categories
- In Proceedings of the International Category Theory Meeting 1991, CMS Conference Proceedings 13, 391--407, American Mathematical Society
, 1992
"... . A description of relational databases in categorical terminology given here has as intended application the study of database dynamics, in particular we view (i) updates as database objects in a suitable category indexed by a topos; (ii) L-fuzzy databases as database objects in sheaves. Indexed ca ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
. A description of relational databases in categorical terminology given here has as intended application the study of database dynamics, in particular we view (i) updates as database objects in a suitable category indexed by a topos; (ii) L-fuzzy databases as database objects in sheaves. Indexed categories are constructed to model the databases on a fixed family of domains and also all databases for a varying family of domains. Further, we show that the process of constructing the relational completion of a relational database is a monad in a 2-category of functors. Introduction We use the term relation for a subobject of a finite product of objects in a category. Following the relational database literature, we use the term domain for an object of the ambient category (and warn readers that these are not the ordered objects which go by the name "domain" elsewhere in theoretical Computer Science.) A relational database, as defined by E. F. Codd [3], is first of all a family of rela...
On Cubism
"... A number of difficulties in the formalism of Pure Type Systems (PTS's) is discussed and an alternative classification system for typed calculi is proposed. In the new approach the main novelty is that one first explicitly specifies the dependencies that may occur. This is especially useful in order ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
A number of difficulties in the formalism of Pure Type Systems (PTS's) is discussed and an alternative classification system for typed calculi is proposed. In the new approach the main novelty is that one first explicitly specifies the dependencies that may occur. This is especially useful in order to describe constants. But it also facilitates the description of other type theoretic features, like dependent sums. Capsule review The paper reexamines the classification of typed lambda calculi as pure type systems, put forward by Barendregt. A problematic aspect of the PTS-framework is the incorporation of constants: this can be done, but at the cost of ad hoc extensions with products. The paper proposes an alternative description of type systems, essentially by enriching PTS's, with settings plus features, obtaining a neat mechanism for handling constants. 1 Introduction The phrase cubism will be used for the school that advocates classification of typed -calculi in terms of Pure Typ...
Categorical Properties of Logical Frameworks
, 1993
"... In this paper we give a new presentation of ELF which is well-suited for semantic analysis. We introduce the notions of internal codability, internal definability, internal typed calculi and frame languages. These notions are central to our perspective of logical frameworks. We will argue that a ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
In this paper we give a new presentation of ELF which is well-suited for semantic analysis. We introduce the notions of internal codability, internal definability, internal typed calculi and frame languages. These notions are central to our perspective of logical frameworks. We will argue that a logical framework is a typed calculus which formalizes the relationship between internal typed languages and frame languages. In the second half of the paper, we demonstrate the advantage of our logical framework by showing some categorical properties of it and of encodings in it. By doing so we hope to indicate a sensible model theory of encodings. Copyright c fl1993. All rights reserved. Reproduction of all or part of this work is permitted for educational or research purposes on condition that (1) this copyright notice is included, (2) proper attribution to the author or authors is made and (3) no commercial gain is involved. Technical Reports issued by the Department of Computer Sc...
The Arrow Manifesto: Towards software engineering based on comprehensible yet rigorous graphical specifications
"... . A novel formalizable specification paradigm is proposed which makes it possible to solve a lot of specification problems in software. The roots of the idea are in mathematical category theory; following its terminology we call our specifications sketches. Among the principal advantages of sketches ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
. A novel formalizable specification paradigm is proposed which makes it possible to solve a lot of specification problems in software. The roots of the idea are in mathematical category theory; following its terminology we call our specifications sketches. Among the principal advantages of sketches are the following. ffl Nice amalgamation of logical rigor and graphical evidence. Sketches are graph-based images yet they are precise formal specifications as rigor as, say, first order logic theories. ffl Universality, in the precise sense of the word. It can be mathematically proven that any specification whose semantic meaning can be formalized can be also expressed by a sketch. ffl Unifying power. Many of graphical specification languages can be simulated by sketches in the corresponding signature of diagram markers. ffl Semantic capabilities. The sketch language is inherently object-oriented and provides a quite natural way of specifying OO class-reference schemas. ffl Easy and f...
Typed Intermediate Languages for Shape-Analysis
- In Typed Lambda Calculi and Applications (TLCA'97), Lecture Notes in Computer Science 1210
, 1997
"... We introduce S2, a typed intermediate language for vectors, based on a 2level type-theory, which distinguishes between compile-time and run-time. The paper shows how S2 can be used to extract useful information from programs written in the Nested Sequence Calculus NSC, an idealized high-level parall ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We introduce S2, a typed intermediate language for vectors, based on a 2level type-theory, which distinguishes between compile-time and run-time. The paper shows how S2 can be used to extract useful information from programs written in the Nested Sequence Calculus NSC, an idealized high-level parallel calculus for nested sequences. We study two translations from NSC to S2. The most interesting shows that shape analysis (in the sense of Jay) can be handled at compile-time. Introduction Good intermediate languages are an important prerequisite for program analysis and optimization, the main purpose of such languages is to make as explicit as possible the information that is only implicit in source programs (see [18]). A common features of such intermediate languages is an aggressive use of types to incorporate additional information, e.g.: binding times (see [18]), boxed/unboxed values (see [20]), effects (see [23]). In particular, among the ML community the use of types in intermediat...

