Abstract
Three important generalised array structures — extensible arrays, sparse arrays and functional arrays — are slow to access unless their use is severely restricted. All three can be combined in a powerful new active data structure called 'ESF arrays'. ESF arrays may grow or shrink dynamically, they can be searched quickly, and changes to them can be rolled back in a single operation. A new data parallel algorithm implements every operation on an ESF array in a small constant time, without placing any restrictions on the use of those operations. The algorithm is suitable both for massively parallel architectures and for VLSI implementation.
Preview
Unable to display preview. Download preview PDF.
References
E. W. Dijkstra, A Discipline of Programming. Prentice-Hall (1976).
P. Hudak, A. Bloss, The aggregate update problem in functional programming systems. Proc. 12th ACM POPL (1985).
J. T. O'Donnell, T. Bridges, S. W. Kitchel, A VLSI implementation of an architecture for applicative programming. Future Generation Computer Systems, 4(3) (Oct. 1988) 245–254.
S. L. Peyton Jones, P. L. Wadler, Imperative functional programming. Proc. 20th ACM POPL (1993) 71–84.
P. L. Wadler, Linear types can change the world! Programming Concepts and Methods, North-Holland (1990).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
O'Donnell, J.T. (1993). Data parallel implementation of extensible sparse functional arrays. In: Bode, A., Reeve, M., Wolf, G. (eds) PARLE '93 Parallel Architectures and Languages Europe. PARLE 1993. Lecture Notes in Computer Science, vol 694. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56891-3_6
Download citation
DOI: https://doi.org/10.1007/3-540-56891-3_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56891-9
Online ISBN: 978-3-540-47779-2
eBook Packages: Springer Book Archive