Results 1 -
6 of
6
Normal Forms And Conservative Extension Properties For Query Languages Over Collection Types
- Journal of Computer and System Sciences
, 1995
"... Strong normalization results are obtained for a general language for collection types. An induced normal form for sets and bags is then used to show that the class of functions whose input has height (that is, the maximal depth of nestings of sets/bags/lists in the complex object) at most i and outp ..."
Abstract
-
Cited by 16 (6 self)
- Add to MetaCart
Strong normalization results are obtained for a general language for collection types. An induced normal form for sets and bags is then used to show that the class of functions whose input has height (that is, the maximal depth of nestings of sets/bags/lists in the complex object) at most i and output has height at most o definable in a nested relational query language without powerset operator is independent of the height of intermediate expressions used. Our proof holds regardless of whether the language is used for querying sets, bags, or lists, even in the presence of variant types. Moreover, the normal forms are useful in a general approach to query optimization. Paredaens and Van Gucht proved a similar result for the special case when i = o = 1. Their result is complemented by Hull and Su who demonstrated the failure of independence when powerset operator is present and i = o = 1. The theorem of Hull and Su was generalized to all i and o by Grumbach and Vianu. Our result generali...
THE COLLECTION PROGRAMMING LANGUAGE - Reference Manual
, 1996
"... This report is intended as an informal but accurate description of CPL. 1.2 Organization ..."
Abstract
-
Cited by 8 (8 self)
- Add to MetaCart
This report is intended as an informal but accurate description of CPL. 1.2 Organization
A Simple Semantics for Polymorphic Recursion
- Lecture Notes in Computer Science
, 2005
"... Polymorphic recursion is a useful extension of Hindley-Milner typing and has been incorporated in the functional programming language Haskell. It allows the expression of efficient algorithms that take advantage of non-uniform data structures and provides key support for generic programming. However ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Polymorphic recursion is a useful extension of Hindley-Milner typing and has been incorporated in the functional programming language Haskell. It allows the expression of efficient algorithms that take advantage of non-uniform data structures and provides key support for generic programming. However, polymorphic recursion is, perhaps, not as broadly understood as it could be and this, in part, motivates the denotational semantics presented here. The semantics reported here also contributes an essential building block to any semantics of Haskell: a model for first-order polymorphic recursion. Furthermore, Haskell-style type classes may be described within this semantic framework in a straightforward and intuitively appealing manner.
A Relational Algebra for Complex Objects Based on Partial Information
- In Proceedings of the Conference on Mathematical Foundations of Programming Semantics
, 1991
"... We study an approach to relational databases which treats relations not as subsets of a Cartesian product but as subsets of some domain -- a partially ordered space of descriptions. This approach permits generalizations of relations that admit null values and variants. In previous work it was shown ..."
Abstract
- Add to MetaCart
We study an approach to relational databases which treats relations not as subsets of a Cartesian product but as subsets of some domain -- a partially ordered space of descriptions. This approach permits generalizations of relations that admit null values and variants. In previous work it was shown how to define the notion of a relation scheme in such a setting. Here we provide a characterization of a scheme that is more general, and show that operations analogous to projection, selection and join retain the desired properties. Schemes also allow us to develop dependency theory for such generalized relations. An extension of this model is described which admits a set constructor and is therefore useful for the study of higher-order relations and their generalizations. 1 Introduction It has recently been discovered [5] that a representation of the underlying principles of relational database theory can be found in the theory of domains which is the basis of the denotational semantics ...
Under consideration for publication in J. Functional Programming 1 The Logic of Demand in Haskell
"... Haskell is a functional programming language whose evaluation is lazy by default. However, Haskell also provides pattern matching facilities which add a modicum of eagerness to its otherwise lazy default evaluation. This mixed or \non-strict" semantics can be quite dicult to reason with. This paper ..."
Abstract
- Add to MetaCart
Haskell is a functional programming language whose evaluation is lazy by default. However, Haskell also provides pattern matching facilities which add a modicum of eagerness to its otherwise lazy default evaluation. This mixed or \non-strict" semantics can be quite dicult to reason with. This paper introduces a programming logic, P-logic, which neatly formalizes the mixed evaluation in Haskell pattern-matching as a logic, thereby simplifying the task of specifying and verifying Haskell programs. In P-logic, aspects of demand are reected or represented within both the predicate language and its model theory, allowing for expressive and comprehensible program veri cation.

