Skip to main content

Implementing Eden — or: Dreams Become Reality

  • Conference paper
  • First Online:

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

Abstract

The parallel functional programming language Eden was specially designed to be implemented in a distributed setting. In a previous paper [3] we presented an operational specification of DREAM, the distributed abstract machine for Eden. In this paper we go a step further and present the imperative code generated for Eden expressions and how this code interacts with the distributed RunTime System (RTS) for Eden. This translation is done in two steps: first Eden is translated into PEARL (Parallel Eden Abstract Reduction Language), the parallel functional language of DREAM, and then PEARL expressions are translated into imperative code.

Work partially supported by German-Spanish Acci on Integrada HA1997-0107 and the Spanish projects CAM-06T/033/96 and CICYT-TIC97-0672.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Breitinger, U. Klusik, and R. Loogen. Channel Structures in the Parallel Functional Language Eden. In Proc. 1997 Glasgow Workshop on Functional Programming, 1998. revised version.

    Google Scholar 

  2. S. Breitinger, U. Klusik, and R. Loogen. From (Sequential) Haskell to (Parallel) Eden: An Implementation Point of View. In Proc. Programming Languages: Implementations, Logics and Programs (PLILP’98), volume 1490 of LNCS, pages 318–334, Springer-Verlag, 1998.

    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, A.J.T. Davie and K. Hammond, editors, Proc. 9th. International Workshop on the Implementation of Functional Languages (IFL’ 97), St Andrews, Scotland, September 1997, volume 1467 of LNCS, pages 250–269. Springer-Verlag, 1998.

    Google Scholar 

  4. S. Breitinger, U. Klusik, R. Loogen, and Y. Ortega-Malléen. Concurrency in Functional and Logic Languages. In Proc. Fuji International Workshop on Functional and Logic Programming, Japan. World Scientific Publishing Company, 1995. ISBN 981-02-2437-0.

    Google Scholar 

  5. S. Breitinger, U. Klusik, 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 Proc. HIPS’ 97 — High-Level Parallel Programming Models and Supportive Environments. IEEE Press, 1997.

    Google Scholar 

  7. S. Cox, S.-Y. Huang, P.H.J. Kelly, J. Liu, and F. Taylor. An Implementation of Static Functional Process Networks. In Proc. PARLE’ 92 — Parallel Architectures and Languages Europe, pages 497–512. Springer-Verlag, 1992.

    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. G. Hogen, A. Kindler, and R. Loogen. Automatic Parallelization of Lazy Functional Programs. Proc. 1992 European Symposium on Programming (ESOP’ 92), Springer-Verlag LNCS, 1992.

    Google Scholar 

  10. J.C. Peterson, K. Hammond, L. Augustsson, B. Boutel, F. W. Burton, J. Fasel, A. D. Gordon, R. J. M. Hughes, P. Hudak, T. Johnsson, M. P. Jones, E. Meijer, S. L. Peyton Jones, A. Reid, and P. L. Wadler. Report on the Non-Strict Functional Language, Haskell, Version 1.4, 1997.

    Google Scholar 

  11. S.L. Peyton-Jones. Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine, version 2.5. Journal of Functional Programming, 2(2):127–202, April 1992.

    Article  MATH  Google Scholar 

  12. S. L. Peyton Jones, C. Hall, K. Hammond, W. Partain, and P. Wadler. The Glasgow Haskell compiler: A technical overview. In Proc. UK Joint Framework for Information Technology, Technical Conference (JFIT’ 93), pages 249–257, Keele, Mar. 1993.

    Google Scholar 

  13. J.H. Reppy. CML: A higher-order concurrent language. In Proc. 1991 ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI 91), pages 293–305, 1991.

    Google Scholar 

  14. P.W. Trinder, K. Hammond, H.-W. Loidl, and S.L. Peyton Jones. Algorithm + Strategy = Parallelism. Journal of Functional Programming, 8(1):23–60, January 1998.

    Article  MATH  MathSciNet  Google Scholar 

  15. P.W. Trinder, K. Hammond, J.S. Mattson, A.S. Partridge, and S.L. Peyton Jones. GUM: a Portable Parallel Implementation of Haskell. In Proc. 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’ 96), pages 79–88, 1996.

    Google Scholar 

  16. M.C.J.D. van Eekelen and M.J. Plasmeijer. Functional Programming and Parallel Graph Rewriting, Addison-Wesley, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Klusik, U., Ortega, Y., Peña, R. (1999). Implementing Eden — or: Dreams Become Reality. In: Hammond, K., Davie, T., Clack, C. (eds) Implementation of Functional Languages. IFL 1998. Lecture Notes in Computer Science, vol 1595. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48515-5_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-48515-5_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66229-7

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics