Software—Practice & Experience
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Compiling standard ML for efficient execution on modern machines
Compiling standard ML for efficient execution on modern machines
Purely functional random-access lists
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Compact Encodings of List Structure
ACM Transactions on Programming Languages and Systems (TOPLAS)
An empirical study of list structure in Lisp
Communications of the ACM
Compact list representation: definition, garbage collection, and system implementation
Communications of the ACM
List structure: measurements, algorithms, and encodings.
List structure: measurements, algorithms, and encodings.
Super-efficient aggregating history-independent persistent authenticated dictionaries
ESORICS'09 Proceedings of the 14th European conference on Research in computer security
Authenticated Dictionaries: Real-World Costs and Trade-Offs
ACM Transactions on Information and System Security (TISSEC)
Hi-index | 0.00 |
Since J. McCarthy first introduced Functional Programming, the Linked List has almost universally been used as the underpinning data structure. This paper introduces a new data structure, the VList, that is compact, thread safe and significantly faster to use than Linked Lists for nearly all list operations. Space usage can be reduced by 50% to 90% and in typical list operations speed improved by factors ranging from 4 to 20 or more. Some important operations such as indexing and length are typically changed from O(N) to O(1) and O(logN) respectively. In the current form the VList structure can provide an alternative heap architecture for functional languages using eager evaluation. To prove the viability of the new structure a language interpreter Visp, a dialect of Common Lisp, has been implemented using VList and a simple benchmark comparison with OCAML reported.