## Real-Time Deques, Multihead Turing Machines, and Purely Functional Programming (1993)

Venue: | In Conference on Functional Programming Languages and Computer Architecture |

Citations: | 12 - 1 self |

### BibTeX

@INPROCEEDINGS{Chuang93real-timedeques,,

author = {Tyng-Ruey Chuang and Benjamin Goldberg},

title = {Real-Time Deques, Multihead Turing Machines, and Purely Functional Programming},

booktitle = {In Conference on Functional Programming Languages and Computer Architecture},

year = {1993},

pages = {289--298},

publisher = {ACM Press}

}

### OpenURL

### Abstract

We answer the following question: Can a deque (double-- ended queue) be implemented in a purely functional language such that each push or pop operation on either end of a queue is accomplished in O(1) time in the worst case? The answer is yes, thus solving a problem posted by Gajewska and Tarjan [14] and by Ponder, McGeer, and Ng [25], and refining results of Sarnak [26] and Hoogerwoord [18]. We term such a deque real--time, since its constant worstcase behavior might be useful in real time programs (assuming real--time garbage collection [3], etc.) Furthermore, we show that no restriction of the functional language is necessary, and that push and pop operations on previous versions of a deque can also be achieved in constant time. We present a purely functional implementation of real-- time deques and its complexity analysis. We then show that the implementation has some interesting implications, and can be used to give a real--time simulation of a multihead Turing machine in a purel...