An implementation of Eden on top of concurrent Haskell

  • Silvia Breitinger
  • Ulrike Klusik
  • Rita Loogen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1268)


The functional concurrent language Eden is an extension of the lazy functional language Haskell by high level constructs for the explicit specification of dynamically evolving process systems. It employs stream-based implicit communication.

In this paper, we describe how Eden can be implemented on top of Concurrent Haskell, another concurrent extension of Haskell. This implementation provides valuable insights into the relationship between the two languages. Furthermore, an outlook on the parallel implementation on a distributed memory system is given.


Parallel Implementation Output Channel Syntax Tree Functional Language Process Abstraction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AJ89]
    Lennart Augustsson and Thomas Johnsson. Parallel Graph Reduction with the 〈v, G〉-machine. In FPCA '89, Functional Programming Languages and Computer Architecture, pages 202–213. ACM Press, 1989.Google Scholar
  2. [Aßm96]
    Claus Aßmann. Coordinating Functional Processes using Petri Nets. In Werner Kluge, editor, Workshop on the Implementation of Functional Languages, Bonn, Germany. Christian-Albrechts-University Kiel, September 1996. (also in this volume).Google Scholar
  3. [Ber95]
    B. Berthomieu. Process calculi at work — an account of the LCS project. In PSLS, LNCS 1068, Springer, 1995.Google Scholar
  4. [BLO96]
    Silvia Breitinger, Rita Loogen, and Yolanda Ortega-Mallén. Towards a declarative language for concurrent and parallel programming. In David N. Turner, editor, Functional Programming, Glasgow 1995. Springer, 1996.Google Scholar
  5. [BLOP96]
    Silvia Breitinger, Rita Loogen, Yolanda 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. [GC92]
    David Gelernter and Nicolas Carriero. Coordination languages and their significance. Comm. of the ACM, 35(2), 1992.Google Scholar
  7. [GH96]
    T. Gehrke and M. Huhn. ProFun — a language for executable specifications. In International Symposium on Programming Languages: Implementations, Logics, Programs (PLILP), LNCS 1140, Springer, 1996.Google Scholar
  8. [KLB91]
    H. Kingdon, D. R. Lester, and G. L. Burn. The HDG-machine: a highly distributed graph-reducer for a transputer network. Computer Journal, 34(4):290–301, 1991.Google Scholar
  9. [LKID89]
    Rita Loogen, Herbert Kuchen, Klaus Indermark, and Werner Damm. Distributed implementation of programmed graph reduction. In Proc. PARLE, LNCS 365, Springer, 1989.Google Scholar
  10. [PH96]
    John Peterson and Kevin Hammond (eds). Report on the programming language Haskell: a non-strict, purely functional language, version 1.3. Technical Report YALEU/DCS/RR-1106, Yale University, 1996.Google Scholar
  11. [PJGF96]
    Simon Peyton Jones, Andrew Gordon, and Sigbjorn Finne. Concurrent Haskell. In ACM Symposium on Principles of Programming Languages (POPL) 96. ACM Press, 1996.Google Scholar
  12. [Rep91]
    John H. Reppy. CML: A higher-order concurrent language. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1991.Google Scholar
  13. [Sah96]
    D. Sahlin. The concurrent functional programming language Erlang — an overview. In Multi Paradigm Logic Programming, pages 9–12, 1996.Google Scholar
  14. [THM+96]
    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
  15. [TLP+93]
    B. Thomsen, L. Leth, S. Prasad, T.-S. Kuo, A. Kramer, F. Knabe, and A. Giacalone. Facile antigua release — programming guide. Technical Report ECRC-93-20, European Computer-Industry Research Centre, 1993.Google Scholar
  16. [vEP93]
    Marco van Eekelen and Rinus Plasmeijer. Functional Programming and Parallel Graph Rewriting. Addison Wesley, 1993.Google Scholar
  17. [Wik94]
    Claes Wikström. Distributed programming in Erlang. In Hoon Hong, editor, PASCO'94: First International Symposium on Parallel Symbolic Computation, pages 412–421. World Scientific Publishing Company, 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Silvia Breitinger
    • 1
  • Ulrike Klusik
    • 1
  • Rita Loogen
    • 1
  1. 1.Fachbereich Mathematik, Fachgebiet InformatikPhilipps-Universität MarburgLahnbergeGermany

Personalised recommendations