Results 1 
5 of
5
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 nonsinglethreaded. 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 nonsinglethreaded. 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 worstcase 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:...
Objects as Mobile Processes
 RESEARCH SERIES RS9638, BRICS
, 1996
"... The object calculus of Abadi and Cardelli [AC96, AC94b, AC94a] is intended as model of central aspects of objectoriented programming languages. In this paper we encode the object calculus in the asynchronous picalculus without matching and investigate the properties of our encoding. ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
The object calculus of Abadi and Cardelli [AC96, AC94b, AC94a] is intended as model of central aspects of objectoriented programming languages. In this paper we encode the object calculus in the asynchronous picalculus without matching and investigate the properties of our encoding.
The Fixpoint BoundedVariable Queries are PSPACEComplete
 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 PSPACEcomplete. 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 PSPACEcomplete. 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 2 (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 wellknown extension to HindleyMilner 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 kary Composition of a Binary Associative Operator
, 1996
"... We show that the problem of computing all contiguous kary 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 kary 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 online 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 (ALCOMIT). 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 kary compositions of contiguous subsequences of length...