Fully persistent lists with catenation

This paper considers the problem of representing stacks with catenation so that any stack, old or new, is available for access or update operations. This problem arises in the implementation of list-based and functional programming languages. A solution is proposed requiring constant time and space for each stack operation except catenation, which requires O(log log k) time and space. Here k is the number of stack operations done before the catenation. All the resource bounds are amortized over the sequence of operations.

[1]  Eugene W. Myers,et al.  An Applicative Random-Access Stack , 1983, Inf. Process. Lett..

[2]  Eugene W. Myers,et al.  Efficient applicative data types , 1984, POPL.

[3]  Matthias Felleisen,et al.  Abstract continuations: a mathematical semantics for handling full jumps , 1988, LISP and Functional Programming.

[4]  David P. Dobkin,et al.  Efficient uses of the past , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[5]  Leonidas J. Guibas,et al.  A dichromatic framework for balanced trees , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[6]  Robert E. Tarjan,et al.  Making data structures persistent , 1986, STOC '86.

[7]  Bernard Chazelle,et al.  How to Search in History , 1983, Inf. Control..

[8]  Robert E. Tarjan,et al.  Design and Analysis of a Data Structure for Representing Sorted Lists , 1978, SIAM J. Comput..

[9]  Paul F. Dietz Fully Persistent Arrays (Extended Array) , 1989, WADS.

[10]  Richard Cole,et al.  Searching and Storing Similar Lists , 2018, J. Algorithms.

[11]  S. Rao Kosaraju,et al.  Localized search in sorted lists , 1981, STOC '81.

[12]  Robert E. Tarjan,et al.  Confluently persistent deques via data structuaral bootstrapping , 1993, SODA '93.

[13]  Garret Frederick Swart,et al.  Efficient algorithms for computing geometric intersections (decision tree, hidden line removal, graphics, complexity) , 1985 .

[14]  Leonidas J. Guibas,et al.  A new representation for linear lists , 1977, STOC '77.

[15]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[16]  M. H. Overmars,et al.  Searching in the past I , 1981 .

[17]  Robert E. Tarjan,et al.  Updating a Balanced Search Tree in O(1) Rotations , 1983, Inf. Process. Lett..

[18]  Robert HOOD,et al.  Real-Time Queue Operation in Pure LISP , 1980, Inf. Process. Lett..

[19]  Thomas W. Reps,et al.  Incremental Context-Dependent Analysis for Language-Based Editors , 1983, TOPL.