Results 1  10
of
20
Light Linear Logic
"... The abuse of structural rules may have damaging complexity effects. ..."
Abstract

Cited by 616 (3 self)
 Add to MetaCart
The abuse of structural rules may have damaging complexity effects.
Principles of Programming with Complex Objects and Collection Types
 Theoretical Computer Science
, 1995
"... We present a new principle for the development of database query languages that the primitive operations should be organized around types. Viewing a relational database as consisting of sets of records, this principle dictates that we should investigate separately operations for records and sets. Th ..."
Abstract

Cited by 128 (28 self)
 Add to MetaCart
We present a new principle for the development of database query languages that the primitive operations should be organized around types. Viewing a relational database as consisting of sets of records, this principle dictates that we should investigate separately operations for records and sets. There are two immediate advantages of this approach, which is partly inspired by basic ideas from category theory. First, it provides a language for structures in which record and set types may be freely combined: nested relations or complex objects. Second, the fundamental operations for sets are closely related to those for other "collection types" such as bags or lists, and this suggests how database languages may be uniformly extended to these new types. The most general operation on sets, that of structural recursion, is one in which not all programs are welldefined. In looking for limited forms of this operation that always give rise to welldefined operations, we find a number of close ...
The Power of Languages for the Manipulation of Complex Values
 VLDB Journal
, 1995
"... Abstract. Various models and languages for describing and manipulating hierarchically structured data have been proposed. Algebraic, calculusbased, and logicprogramming oriented languages have all been considered. This article presents a general model for complex values (i.e., values with hierarc ..."
Abstract

Cited by 48 (0 self)
 Add to MetaCart
Abstract. Various models and languages for describing and manipulating hierarchically structured data have been proposed. Algebraic, calculusbased, and logicprogramming oriented languages have all been considered. This article presents a general model for complex values (i.e., values with hierarchical structures), and languages for it based on the three paradigms. The algebraic language generalizes those presented in the literature; it is shown to be related to the functional style of programming advocated by Backus (1978). The notion of domain independence (from relational databases) is defined, and syntactic restrictions (referred to as safety conditions) on calculus queries are formulated to guarantee domain independence. The main results are: The domainindependent calculus, the safe calculus, the algebra, and the logicprogramming oriented language have equivalent expressive power. In particular, recursive queries, such as the transitive closure, can be expressed in each of the languages. For this result, the algebra needs the powerset operation. A more restricted version of safety is presented, such that the restricted safe calculus is equivalent to the algebra without the powerset. The results are extended to the case where arbitrary functions and predicates are used in the languages. Key Words. Database, query language, complex value, complex object, database model.
Comprehension Syntax
 SIGMOD RECORD
, 1994
"... The syntax of comprehensions is very close to the syntax of a number of practical database query languages and is, we believe, a better starting point than firstorder logic for the development of database languages. We give an informal account of a language based on comprehension syntax that deals ..."
Abstract

Cited by 19 (4 self)
 Add to MetaCart
The syntax of comprehensions is very close to the syntax of a number of practical database query languages and is, we believe, a better starting point than firstorder logic for the development of database languages. We give an informal account of a language based on comprehension syntax that deals uniformly with a variety of collection types; it also includes pattern matching, variant types and function definition. We show, again informally, how comprehension syntax is a natural fragment of structural recursion, a much more powerful programming paradigm for collection types. We also show that a very small "abstract syntax language" can serve as a basis for the implementation and optimization of comprehension syntax.
A Structural Approach to Reversible Computation
 Theoretical Computer Science
, 2001
"... Reversibility is a key issue in the interface between computation and physics, and of growing importance as miniaturization progresses towards its physical limits. Most foundational work on reversible computing to date has focussed on simulations of lowlevel machine models. By contrast, we develop ..."
Abstract

Cited by 18 (3 self)
 Add to MetaCart
Reversibility is a key issue in the interface between computation and physics, and of growing importance as miniaturization progresses towards its physical limits. Most foundational work on reversible computing to date has focussed on simulations of lowlevel machine models. By contrast, we develop a more structural approach. We show how highlevel functional programs can be mapped compositionally (i.e. in a syntaxdirected fashion) into a simple kind of automata which are immediately seen to be reversible. The size of the automaton is linear in the size of the functional term. In mathematical terms, we are building a concrete model of functional computation. This construction stems directly from ideas arising in Geometry of Interaction and Linear Logic—but can be understood without any knowledge of these topics. In fact, it serves as an excellent introduction to them. At the same time, an interesting logical delineation between reversible and irreversible forms of computation emerges from our analysis. 1
Space Usage in Functional Query Languages
 in "LNCS 893: Proceedings of 5th International Conference on Database Theory," 439454
, 1995
"... We consider evaluation strategies for database queries expressed in three functional query languages: the complex value algebra, the simply typed lambda calculus, and method schemas. Each of these query languages derives its expressive power from a different primitive: the complex value algebra fr ..."
Abstract

Cited by 16 (2 self)
 Add to MetaCart
We consider evaluation strategies for database queries expressed in three functional query languages: the complex value algebra, the simply typed lambda calculus, and method schemas. Each of these query languages derives its expressive power from a different primitive: the complex value algebra from the powerset operator, the simply typed lambda calculus from list iteration, and method schemas from recursion. We show that "natural" evaluation strategies for these primitives may lead to very inefficient space usage, but that with some simple optimizations many queries can be evaluated with little or no space overhead. In particular, we show: (1) In the complex value algebra, all expressions with set nesting depth at most 2 can be evaluated in pspace, and this set of expressions is sufficient to express all queries in the polynomial hierarchy; (2) In the simply typed lambda calculus with equality and constants, all query terms of order at most 5 (where "query term" is a syntactic condition on types) can be evaluated in pspace, and this set of terms expresses exactly the pspace queries; (3) There exists a set of secondorder method schemas (with no simple syntactic characterization) that can be evaluated in pspace, and this set of schemas is sufficient to express all pspace queries.
A Query Language for ListBased Complex Objects
 In Thirteenth ACM SIGMOD Intern. Symposium on Principles of Database Systems (PODS'94
, 1994
"... We present a language for querying listbased complex objects. The language is shown to express precisely the polynomialtime generic listobject functions. The iteration mechanism of the language is based on a new approach wherein, in addition to the list over which the iteration is performed, a se ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
We present a language for querying listbased complex objects. The language is shown to express precisely the polynomialtime generic listobject functions. The iteration mechanism of the language is based on a new approach wherein, in addition to the list over which the iteration is performed, a second list is used to control the number of iteration steps. During the iteration, the intermediate results can be moved to the output list as well as reinserted into the list being iterated over. A simple syntactic constraint allows the growth rate of the intermediate results to be tightly controlled which, in turn, restricts the expressiveness of the language to PTIME. Data Parallel Systems Inc., 4617 Morningside Dr., Bloomington, IN, 47408; email: colby@dpsi.com y University of Regina, Dept. of Comp. Science, Regina, Saskatchewan S4S 0A2, Canada, email: saxton@cs.uregina.ca z Indiana University, Comp. Science Dept., Bloomington, IN 474054101, email: vgucht@cs.indiana.edu. 1 Intro...
Functional Database Query Languages as Typed Lambda Calculi of Fixed Order (Extended Abstract)
 In Proceedings 13th PODS
, 1994
"... We present a functional framework for database query languages, which is analogous to the conventional logical framework of firstorder and fixpoint formulas over finite structures. We use atomic constants of order 0, equality among these constants, variables, application, lambda abstraction, and le ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
We present a functional framework for database query languages, which is analogous to the conventional logical framework of firstorder and fixpoint formulas over finite structures. We use atomic constants of order 0, equality among these constants, variables, application, lambda abstraction, and let abstraction; all typed using fixed order ( 5) functionalities. In this framework, proposed in [21] for arbitrary order functionalities, queries and databases are both typed lambda terms, evaluation is by reduction, and the main programming technique is list iteration. We define two families of languages: TLI = i or simplytyped list iteration of order i +3 with equality, and MLI = i or MLtyped list iteration of order i+3 with equality; we use i+3 since our list representation of databases requires at least order 3. We show that: FOqueries ` TLI = 0 ` MLI = 0 ` LOGSPACEqueries ` TLI = 1 = MLI = 1 = PTIMEqueries ` TLI = 2 , where equality is no longer a primitive in TLI = 2 . We also show that ML type inference, restricted to fixed order, is polynomial in the size of the program typed. Since programming by using low order functionalities and type inference is common in functional languages, our results indicate that such programs suffice for expressing efficient computations and that their MLtypes can be efficiently inferred.
ORSML: A Functional Database Programming Language for Disjunctive Information and Its Applications
 in "LNCS 856: Proceedings of Database and Expert Systems Applications
, 1994
"... We describe a functional database language ORSML for handling disjunctive information in database queries, and its implementation on top of Standard ML [21]. The core language has the power of the nested relational algebra, and it is augmented with orsets which are used to deal with disjunctive ..."
Abstract

Cited by 9 (8 self)
 Add to MetaCart
We describe a functional database language ORSML for handling disjunctive information in database queries, and its implementation on top of Standard ML [21]. The core language has the power of the nested relational algebra, and it is augmented with orsets which are used to deal with disjunctive information. Sets, orsets and tuples can be freely combined to create objects, which gives the language a greater flexibility. We give examples of queries which require disjunctive information (such as querying incomplete or independent databases) and show how to use the language to answer these queries. Since the system runs on top of Standard ML and all database objects are values in the latter, the system benefits from combining a sophisticated query language with the full power of a programming language. ORSML includes a number of primitives that deal with bags and aggregate functions. It is also configurable by userdefined base types. The language has been implemented as a l...
Finite Model Theory In The Simply Typed Lambda Calculus
, 1994
"... Church's simply typed calculus is a very basic framework for functional programming language research. However, it is common to augment this framework with additional programming constructs, because its expressive power for functions over the domain of Church numerals is very limited. In this thesi ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
Church's simply typed calculus is a very basic framework for functional programming language research. However, it is common to augment this framework with additional programming constructs, because its expressive power for functions over the domain of Church numerals is very limited. In this thesis: (1) We reexamine the expressive power of the "pure" simply typed calculus, but over encodings of finite relational structures, i. e., finite models or databases . In this novel framework the simply typed calculus expresses all elementary functions from finite models to finite models. In addition, many common database query languages, e. g., relational algebra, Datalog : , and the Abiteboul/Beeri complex object algebra, can be embedded into it. The embeddings are feasible in the sense that the terms corresponding to PTIME queries can be evaluated in polynomial time. (2) We examine fixedorder fragments of the simply typed calculus to determine machine independent characterizations of complexity classes. For this we augment the calculus with atomic constants and equality among atomic constants. We show that over ordered structures, the order 3, 4, 5, and 6 fragments express exactly the firstorder, PTIME, PSPACE, and EXPTIME queries, respectively, and we conjecture that for general k 1, order 2 k + 4 expresses exactly the kEXPTIME queries and order 2 k + 5 expresses exactly the kEXPSPACE queries. (3) We also reexamine other functional characterizations of PTIME and we show that method schemas with ordered objects express exactly PTIME. This is a firstorder framework proposed for objectoriented databasesas opposed to the above higherorder frameworks. In summary, this research provides a link between finite model theory (and thus computational complexity), dat...