Fast functional lists

  • Authors:
  • Phil Bagwell

  • Affiliations:
  •  

  • Venue:
  • IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.