Skip to main content

An implementation of Eden on top of concurrent Haskell

  • Conference paper
  • First Online:

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

Abstract

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.

The authors are 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. 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. 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. B. Berthomieu. Process calculi at work — an account of the LCS project. In PSLS, LNCS 1068, Springer, 1995.

    Google Scholar 

  4. 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. 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. David Gelernter and Nicolas Carriero. Coordination languages and their significance. Comm. of the ACM, 35(2), 1992.

    Google Scholar 

  7. 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. 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. 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. 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. 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. John H. Reppy. CML: A higher-order concurrent language. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1991.

    Google Scholar 

  13. D. Sahlin. The concurrent functional programming language Erlang — an overview. In Multi Paradigm Logic Programming, pages 9–12, 1996.

    Google Scholar 

  14. 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. 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. Marco van Eekelen and Rinus Plasmeijer. Functional Programming and Parallel Graph Rewriting. Addison Wesley, 1993.

    Google Scholar 

  17. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Werner Kluge

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Breitinger, S., Klusik, U., Loogen, R. (1997). An implementation of Eden on top of concurrent Haskell. In: Kluge, W. (eds) Implementation of Functional Languages. IFL 1996. Lecture Notes in Computer Science, vol 1268. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63237-9_23

Download citation

  • DOI: https://doi.org/10.1007/3-540-63237-9_23

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63237-5

  • Online ISBN: 978-3-540-69239-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics