Abstract
The explicitly parallel programming language Eden adds a coordination level to the lazy functional language Haskell. This paper describes how a compiler and runtime system for Eden can incrementally be built on the basis of a compiler and runtime system for the computation language. The modifications needed in the compiler are restricted to specific orthogonal extensions. We show that Eden's design for distributed memory systems proves beneficial for the construction of a lean parallel runtime system.
The authors have been supported by the DAAD (Deutscher Akademischer Austauschdienst) in the context of a German-Spanish Acción Integrada.
Preview
Unable to display preview. Download preview PDF.
References
J. Armstrong, M. Williams, and S. Virding. Concurrent Programming in Erlang. Prentice Hall, 1996.
G. E. Blelloch. Programming parallel algorithms. Communications of the ACM, 39(3), March 1996.
S. Breitinger, U. Klusik, R. Loogen, Y. Ortega-Mallén, and R. Peña. DREAM — the DistRibuted Eden Abstract Machine. In C. Clack, T. Davie, and K. Hammond, editors, Symposium on the Implementation of Funct. Lang. 1997, St. Andrews, selected papers, LNCS 1467. Springer, 1998.
S. Breitinger and R. Loogen. Channel Structures in the Parallel Functional Language Eden. In Glasgow Workshop on Functional Programming, 1997.
S. Breitinger, 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 High-Level Parallel Programming Models and Supportive Environments (HIPS). IEEE Press, 1997.
J. Darlington, Y.-K. Guo, H. To, and J. Yang. Functional skeletons for parallel coordination. In EURO-PAR '95 Parallel Processing, LNCS 966. Springer, 1995.
A. Giacalone, P. Mishra, and S. Prasad. Facile: A Symmetric Integration of Concurrent and Functional Programming. Journal of Parallel Programming, 18(2), 1989.
P. Kelly. Functional Programming for Loosely Coupled Multiprocessors. Pitman, 1989.
M. Kesseler. The Implementation of Functional Languages on Parallel Machines with Distributed Memory. PhD thesis, Katholieke Universiteit Nijmegen, 1996.
J. Peterson and K. Hammond (eds.). Report on the programming language Haskell: a non-strict, purely functional language, version 1.4. Technical Report YALEU/DCS/RR-1106, Yale University, 1997.
S. Peyton Jones, A. Gordon, and S. Finne. Concurrent Haskell. In ACM Symp. on Principles of Programming Languages (POPL), 1996.
S. L. Peyton Jones. Implementing lazy functional languages on stock hardware: The spineless tagless G-machine. Journal of Functional Programming, 2(2), 1992.
J. Reppy. CML: A higher-order concurrent language. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1991.
A. Santos. Compilation by Transformation in Non-Strict Functional Languages. PhD thesis, Glasgow University, Department of Computing Science, 1995.
S. K. Skedzielewski. Sisal. In B. Szymanski, editor, Parallel Functional Languages and Compilers. ACM Press, 1991.
P. W. Trinder, K. Hammond, H. W. Loidl, and S. L. Peyton Jones. Algorithm + Strategy = Parallelism. Journal of Functional Programming, 8(1), 1998.
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.
M. van Eekelen and R. Plasmeijer. Functional Programming and Parallel Graph Rewriting. Addison Wesley, 1993.
N. Winstanley. Reflections on Instance Derivation. In Glasgow Workshop on Functional Programming, 1997.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Breitinger, S., Klusik, U., Loogen, R. (1998). From (sequential) Haskell to (parallel) Eden: An implementation point of view. In: Palamidessi, C., Glaser, H., Meinke, K. (eds) Principles of Declarative Programming. ALP PLILP 1998 1998. Lecture Notes in Computer Science, vol 1490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056623
Download citation
DOI: https://doi.org/10.1007/BFb0056623
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65012-6
Online ISBN: 978-3-540-49766-0
eBook Packages: Springer Book Archive