Data parallel implementation of extensible sparse functional arrays

  • John T. O'Donnell
Paper Sessions Functional Programming
Part of the Lecture Notes in Computer Science book series (LNCS, volume 694)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    E. W. Dijkstra, A Discipline of Programming. Prentice-Hall (1976).Google Scholar
  2. 2.
    P. Hudak, A. Bloss, The aggregate update problem in functional programming systems. Proc. 12th ACM POPL (1985).Google Scholar
  3. 3.
    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.Google Scholar
  4. 4.
    S. L. Peyton Jones, P. L. Wadler, Imperative functional programming. Proc. 20th ACM POPL (1993) 71–84.Google Scholar
  5. 5.
    P. L. Wadler, Linear types can change the world! Programming Concepts and Methods, North-Holland (1990).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • John T. O'Donnell
    • 1
  1. 1.University of GlasgowGlasgowUK

Personalised recommendations