Skip to main content

From (sequential) Haskell to (parallel) Eden: An implementation point of view

  • Conference paper
  • First Online:

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

Abstract

The explicitly parallel programming language Eden adds a coordination level to the lazy functional language Haskell. This paper describes how a compiler and runtime system for Eden can incrementally be built on the basis of a compiler and runtime system for the computation language. The modifications needed in the compiler are restricted to specific orthogonal extensions. We show that Eden's design for distributed memory systems proves beneficial for the construction of a lean parallel runtime system.

The authors have been supported by the DAAD (Deutscher Akademischer Austauschdienst) in the context of a German-Spanish Acción Integrada.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Armstrong, M. Williams, and S. Virding. Concurrent Programming in Erlang. Prentice Hall, 1996.

    Google Scholar 

  2. G. E. Blelloch. Programming parallel algorithms. Communications of the ACM, 39(3), March 1996.

    Google Scholar 

  3. S. Breitinger, U. Klusik, R. Loogen, Y. Ortega-Mallén, and R. Peña. DREAM — the DistRibuted Eden Abstract Machine. In C. Clack, T. Davie, and K. Hammond, editors, Symposium on the Implementation of Funct. Lang. 1997, St. Andrews, selected papers, LNCS 1467. Springer, 1998.

    Google Scholar 

  4. S. Breitinger and R. Loogen. Channel Structures in the Parallel Functional Language Eden. In Glasgow Workshop on Functional Programming, 1997.

    Google Scholar 

  5. S. Breitinger, R. Loogen, Y. Ortega-Mallén, and R. Peña. Eden — Language Definition and Operational Semantics. Technical Report 96-10, Philipps-Universität Marburg, 1996.

    Google Scholar 

  6. S. Breitinger, R. Loogen, Y. Ortega-Mallén, and R. Peña. The Eden coordination model for distributed memory systems. In High-Level Parallel Programming Models and Supportive Environments (HIPS). IEEE Press, 1997.

    Google Scholar 

  7. J. Darlington, Y.-K. Guo, H. To, and J. Yang. Functional skeletons for parallel coordination. In EURO-PAR '95 Parallel Processing, LNCS 966. Springer, 1995.

    Google Scholar 

  8. A. Giacalone, P. Mishra, and S. Prasad. Facile: A Symmetric Integration of Concurrent and Functional Programming. Journal of Parallel Programming, 18(2), 1989.

    Google Scholar 

  9. P. Kelly. Functional Programming for Loosely Coupled Multiprocessors. Pitman, 1989.

    Google Scholar 

  10. M. Kesseler. The Implementation of Functional Languages on Parallel Machines with Distributed Memory. PhD thesis, Katholieke Universiteit Nijmegen, 1996.

    Google Scholar 

  11. J. Peterson and K. Hammond (eds.). Report on the programming language Haskell: a non-strict, purely functional language, version 1.4. Technical Report YALEU/DCS/RR-1106, Yale University, 1997.

    Google Scholar 

  12. S. Peyton Jones, A. Gordon, and S. Finne. Concurrent Haskell. In ACM Symp. on Principles of Programming Languages (POPL), 1996.

    Google Scholar 

  13. S. L. Peyton Jones. Implementing lazy functional languages on stock hardware: The spineless tagless G-machine. Journal of Functional Programming, 2(2), 1992.

    Google Scholar 

  14. J. Reppy. CML: A higher-order concurrent language. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1991.

    Google Scholar 

  15. A. Santos. Compilation by Transformation in Non-Strict Functional Languages. PhD thesis, Glasgow University, Department of Computing Science, 1995.

    Google Scholar 

  16. S. K. Skedzielewski. Sisal. In B. Szymanski, editor, Parallel Functional Languages and Compilers. ACM Press, 1991.

    Google Scholar 

  17. P. W. Trinder, K. Hammond, H. W. Loidl, and S. L. Peyton Jones. Algorithm + Strategy = Parallelism. Journal of Functional Programming, 8(1), 1998.

    Google Scholar 

  18. P. W. Trinder, K. Hammond, J. S. Mattson, Jr., A. S. Partridge, and S. L. Peyton Jones. GUM: A portable parallel implementation of Haskell. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1996.

    Google Scholar 

  19. M. van Eekelen and R. Plasmeijer. Functional Programming and Parallel Graph Rewriting. Addison Wesley, 1993.

    Google Scholar 

  20. N. Winstanley. Reflections on Instance Derivation. In Glasgow Workshop on Functional Programming, 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Catuscia Palamidessi Hugh Glaser Karl Meinke

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Breitinger, S., Klusik, U., Loogen, R. (1998). From (sequential) Haskell to (parallel) Eden: An implementation point of view. In: Palamidessi, C., Glaser, H., Meinke, K. (eds) Principles of Declarative Programming. ALP PLILP 1998 1998. Lecture Notes in Computer Science, vol 1490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056623

Download citation

  • DOI: https://doi.org/10.1007/BFb0056623

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65012-6

  • Online ISBN: 978-3-540-49766-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics