Parallel functional programming in Eden

  • Authors:
  • Rita Loogen;Yolanda Ortega-mallén;Ricardo Peña-marí

  • Affiliations:
  • Fachbereich Mathematik und Informatik, Philipps-Universität Marburg, Hans-Meerwein-Straße, D-35032 Marburg, Germany (e-mail: loogen@mathematik.uni-marburg.de);Departamento de Sistemas Informáticos y Programación, Universidad Complutense de Madrid, C/Juan del Rosal 8, E-28040 Madrid, Spain (e-email: yolanda@sip.ucm.es, ricardo@sip.ucm.es ...;Departamento de Sistemas Informáticos y Programación, Universidad Complutense de Madrid, C/Juan del Rosal 8, E-28040 Madrid, Spain (e-email: yolanda@sip.ucm.es, ricardo@sip.ucm.es ...

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Eden extends the non-strict functional language Haskell with constructs to control parallel evaluation of processes. Although processes are defined explicitly, communication and synchronisation issues are handled in a way transparent to the programmer. In order to offer effective support for parallel evaluation, Eden's coordination constructs override the inherently sequential demand-driven (lazy) evaluation strategy of its computation language Haskell. Eden is a general-purpose parallel functional language suitable for developing sophisticated skeletons – which simplify parallel programming immensely – as well as for exploiting more irregular parallelism that cannot easily be captured by a predefined skeleton. The paper gives a comprehensive description of Eden, its semantics, its skeleton-based programming methodology – which is applied in three case studies – its implementation and performance. Furthermore it points at many additional results that have been achieved in the context of the Eden project.