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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
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.
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.
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.
A. Giacalone, P. Mishra, and S. Prasad. Facile: A Symmetric Integration of Concurrent and Functional Programming. Journal of Parallel Programming, 18(2), 1989.
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.
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.
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.
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.
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.
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.
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.
M.C.J.D. van Eekelen and M.J. Plasmeijer. Functional Programming and Parallel Graph Rewriting, Addison-Wesley, 1993.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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