Skip to main content

Data structures for parallel execution of functional languages

  • Submitted Presentations
  • Conference paper
  • First Online:
PARLE '89 Parallel Architectures and Languages Europe (PARLE 1989)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 366))

Abstract

After a short review of some data structures proposed by traditional functional languages, some requirements that a data structuring primitives should meet for suitable implementation on parallel architectures are introduced; the drawbacks of the classic list data structure are evidenced and consequently two alternative structures are proposed; the first is based on unordered collection of objects (and hereafter called bag): its formal definition is given and the non-determinism of the related primitive operators are discussed; the second, limited function, is a way for defining functions over finite and countable domains: its significant implications, mainly related with parallel architectures, are described.

Examples of programs based on these concepts and integrated within the framework of an existing functional language are proposed and properties about the primitives for manipulating unordered collections of objects are stated and proved in Appendix.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Backus, Can Programming be liberated from the Von Newmann Style? A Functional Style and Its Algebra of Programs, Comm. ACM 21, 8 (Aug. 1978), 613–641.

    Google Scholar 

  2. D. P. Friedman and D. S. Wise, CONS Should not evaluate its arguments, in Automata, Languages and Programming, S. Michaelson and R. Milner (ed.), Edinburgh University Press, Edinburgh, 1976, 257–284.

    Google Scholar 

  3. D. P. Friedman and D. S. Wise, Aspects of Applicative Programming for Parallel Processing, IEEE Trans. on Computers C-27, 4 (Apr. 1978), 289–296.

    Google Scholar 

  4. A. Goldberg and D. Robson, Smalltalk-80: The Language and its Implementation, Addison Wesley, Reading, MA, 1983.

    Google Scholar 

  5. D. Gries and N. Gehani, Some Ideas on Data Types in High-Level Languages, Comm. ACM 20, 6 (1977), 414–420.

    Google Scholar 

  6. J. Guttag, Abstract Data Types and the Development of Data Structures, Comm. ACM 20, 6 (1977), 396–404.

    Google Scholar 

  7. D. W. Hillis, The Connection Machine, MIT Press, 1985.

    Google Scholar 

  8. W. D. Hillis and G. L. Steele, Data Parallel Algorithms, Comm. ACM 29, 12 (Dec. 1986), 1170–1183.

    Google Scholar 

  9. R. H. Kuhn and D. A. P. eds., Tutorial on Parallel Processing, IEEE, August 1981.

    Google Scholar 

  10. G. Marino and R. Zaccaria, A Non Deterministic Parallel Interpreter for Functional Programming, DIST-TR-ZZ-9-84, DIST, Sep. 1984.

    Google Scholar 

  11. G. D. Plotkin, A Power Domain Construction, SIAM J. Comput. 5, 3 (Sep. 1976), 452–487.

    Google Scholar 

  12. C. Stanfill and D. Waltz, Toward Memory-based Reasoning, Comm. ACM 29, 12 (Dec. 1986), 1213–1228.

    Google Scholar 

  13. D. A. Turner, SASL Language Manual, University of Kent at Canterboury, Aug. 1979.

    Google Scholar 

  14. D. A. Turner, A New Implementation Technique for Applicative Languages, Software-Practice & Experience 9, (Sep. 1979), 31–49.

    Google Scholar 

  15. D. A. Turner, Miranda: A non-strict functional language with polymorphi types, Proc. IFIP Internat. Conference of Functional Programming and Computer Architecture, Nancy, France, Sep. 1985.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Eddy Odijk Martin Rem Jean-Claude Syre

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Marino, G., Succi, G. (1989). Data structures for parallel execution of functional languages. In: Odijk, E., Rem, M., Syre, JC. (eds) PARLE '89 Parallel Architectures and Languages Europe. PARLE 1989. Lecture Notes in Computer Science, vol 366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51285-3_51

Download citation

  • DOI: https://doi.org/10.1007/3-540-51285-3_51

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51285-1

  • Online ISBN: 978-3-540-46184-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics