Efficient applicative data types

Eugene W Myers
1984-01-15
Abstract:This work presents O (IgN) time and space algorithms for the applicative manipulation of linear lists. A generalization of an AVL tree, called an AVL dag, is used. While the result is simple, its consequences are far reaching. Since almost every non-scalar data type can be modeled with lists, the results presented here are a powerful method for improving the implementations of applicative languages. The results also provide a fast and space efficient method for constructing history systems such as editors with unlimited" undos" and version control systems. Finally, lists can be realized in value-semantic programming languages, such as PASCAL, with worst case performance superior to any previously proposed solution. Space is at a premium in history systems. An enhancement that improves absolute space performance by a factor of two for applicative editor operations (eg move, transfer, etc.) is also presented. The …
What problem does this paper attempt to address?