Publication View

The Role of Lazy Evaluation in Amortized Data Structures (1996)

Abstract
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:...

Publication details
Download http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.9435
Source http://www.cs.columbia.edu/~cdo/icfp96.ps
Publisher ACM Press
Contributors CiteSeerX
Repository CiteSeerX - Scientific Literature Digital Library and Search Engine (United States)
Type text
Language English
Relation 10.1.1.100.8004, 10.1.1.133.4630, 10.1.1.42.9125, 10.1.1.35.2097, 10.1.1.47.8825, 10.1.1.51.2895, 10.1.1.47.6536, 10.1.1.32.1475, 10.1.1.52.8586, 10.1.1.17.9108, 10.1.1.46.571, 10.1.1.46.3691, 10.1.1.35.9196, 10.1.1.106.557, 10.1.1.44.4874, 10.1.1.47.447, 10.1.1.85.6141, 10.1.1.96.2612, 10.1.1.137.9885, 10.1.1.44.6725, 10.1.1.36.8323