Pointlessness is better than listlessness

O'Donnell, J. T. and Hall, C. V. (2016) Pointlessness is better than listlessness. Lecture Notes in Computer Science, 9600, pp. 234-248. (doi: 10.1007/978-3-319-30936-1_13)

Full text not currently available from Enlighten.


Extensible sparse functional arrays (ESFA) is a persistent data structure with an implementation that performs every operation in O(1) time and space. There is no requirement for single threading of arrays, and no performance penalty for sharing. The implementation is an example of hardware/software co-design and also of active data structures. This makes the work interdisciplinary, and it builds on many ideas from functional programming. These include the definition of new array operations, observations about mutability and purity, monads, program transformations to remove unnecessary data structures, equational reasoning, and fixing space leaks in the garbage collector. This paper summarises a recently published exposition of the system, focusing on drawing connections with some of these foundational ideas. It also presents some new results on a simulation of ESFA on a GPU. A surprising result is that although the simulation has high overheads and limited parallelism, it can outperform a state of the art red black tree implementation when there is a large amount of sharing between arrays.

Item Type:Articles
Additional Information:Conference paper to be published in Phil Wadler's Festschrift "A List of Successes that Can Change the World"
Glasgow Author(s) Enlighten ID:O'Donnell, Dr John and Hall, Dr Cordelia
Authors: O'Donnell, J. T., and Hall, C. V.
College/School:College of Science and Engineering > School of Computing Science
Journal Name:Lecture Notes in Computer Science
Publisher:Springer International Publishing
ISSN (Online):1611-3349

University Staff: Request a correction | Enlighten Editors: Update this record