Results 1 -
4 of
4
The Role of Lazy Evaluation in Amortized Data Structures
- In Proc. of the International Conference on Functional Programming
, 1996
"... Traditional techniques for designing and analyzing amortized data structures in an imperative setting are of limited use in a functional setting because they apply only to singlethreaded data structures, yet functional data structures can be non-single-threaded. In earlier work, we showed how lazy e ..."
Abstract
-
Cited by 13 (2 self)
- Add to MetaCart
Traditional techniques for designing and analyzing amortized data structures in an imperative setting are of limited use in a functional setting because they apply only to singlethreaded data structures, yet functional data structures can be non-single-threaded. In earlier work, we showed how lazy evaluation supports functional amortized data structures and described a technique (the banker's method) for analyzing such data structures. In this paper, we present a new analysis technique (the physicist's method) and show how one can sometimes derive a worst-case data structure from an amortized data structure by appropriately scheduling the premature execution of delayed components. We use these techniques to develop new implementations of FIFO queues and binomial queues. 1 Introduction Functional programmers have long debated the relative merits of strict versus lazy evaluation. Although lazy evaluation has many benefits [11], strict evaluation is clearly superior in at least one area:...
The Fixpoint Bounded-Variable Queries are PSPACE-Complete
- Presented at the 10th Annual International Conference of the European Association for Computer Science Logic, CSL '96
, 1996
"... We study complexity of the evaluation of fixpoint boundedvariable queries in relational databases. We exhibit a finite database such that the problem whether a closed fixpoint formula using only 2 individual variables is satisfied in this database is PSPACE-complete. This clarifies the issues ra ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
We study complexity of the evaluation of fixpoint boundedvariable queries in relational databases. We exhibit a finite database such that the problem whether a closed fixpoint formula using only 2 individual variables is satisfied in this database is PSPACE-complete. This clarifies the issues raised by Moshe Vardi in [Var95]. We study also the complexity of query evaluation for a number of restrictions of fixpoint logic. In particular we exhibit a sublogic for which the upper bound postulated by Vardi holds.
An Exploration of Modular Programs
- In Glasgow Workshop on Functional Programming
, 1996
"... Recently, Mark Jones introduced first class structures as a means to express modular structure. In this paper we elaborate on this idea by comparing the module systems of Standard ML and Haskell 1.3, two widely used functional languages, and a Haskell variant equipped with such first class structure ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Recently, Mark Jones introduced first class structures as a means to express modular structure. In this paper we elaborate on this idea by comparing the module systems of Standard ML and Haskell 1.3, two widely used functional languages, and a Haskell variant equipped with such first class structures. Moreover, we look at another obvious and well-known extension to Hindley-Milner type systems, namely higher order type variables, to explore its usefulness in solving problems occuring when one attempts to structure larger programs into maintainable pieces. We argue that there are surprisingly few applications where the module system currently provided by Haskell cannot keep pace with Standard ML's expressiveness. When one adds first class structures to Haskell, the module system reaches the expressiveness of Standard ML and even exceeds it. 1 Preliminaries It is widely agreed that modular programming (in the sense of using small program units, or modules, to construct more sophisticated...
The Complexity of Computing the k-ary Composition of a Binary Associative Operator
, 1996
"... We show that the problem of computing all contiguous k-ary compositions of a sequence of n values under an associative and commutative operator requires 3 k\Gamma1 k+1 n \Gamma O(k) operations. For the operator max we show in contrast that in the decision tree model the complexity is i 1 + ..."
Abstract
- Add to MetaCart
We show that the problem of computing all contiguous k-ary compositions of a sequence of n values under an associative and commutative operator requires 3 k\Gamma1 k+1 n \Gamma O(k) operations. For the operator max we show in contrast that in the decision tree model the complexity is i 1 + \Theta(1= p k) j n \Gamma O(k). Finally we show that the complexity of the corresponding on-line problem for the operator max is i 2 \Gamma 1 k\Gamma1 j n \Gamma O(k). This work was partially supported by the ESPRIT Long Term Research Program of the EU under contract #20244 (ALCOM-IT). y Supported by the Danish Natural Science Research Council (Grant No. 9400044). z Basic Research in Computer Science, Centre of the Danish National Research Foundation. 1 Introduction Given a sequence of values (x 1 ; x 2 ; : : : ; x n ) from a universe U and an associative binary operator \Phi, we consider the problem of computing all k-ary compositions of contiguous subsequences of length...

