Eden(ID:1137/ede001)


Parallel functional programming language with both synchronous and asynchronous message passing.

"Eden has been designed to have the best of two worlds: on
the one hand, the high level of abstraction and side effect freedom of a lazy functional
language and on the other hand the clear view of process systems present in languages
with concurrency or explicit parallelism. The two key features of Eden's design are its
explicit notion of a process and its controlled treatment of time­dependencies. In this way,
a new language is defined that maintains the declarative reading of functional programs
while enhancing its expressibility considerably. The extensions are defined in a way that
allows a clean semantical treatment of the language"

Joint development by Philipps Universität Marburg, Germany and Universidad Complutense de Madrid, Spain


Structures:
Related languages
Concurrent Euclid => Eden   Positive Strong Influence
Haskell => Eden   Extension of

References:
  • Almes, G. et al, "The Eden System: A Technical Review" view details
          in IEEE Trans Soft Eng 11(01) January 1995 view details
  • Breitinger, Silvia; Loogen, Rita; and Ortega-Mallén, Yolanda; "Towards a Declarative Language for Parallel and Concurrent Programming" (1995) view details
          in IEEE Trans Soft Eng 11(01) January 1995 view details
  • Breitinger, Loogen "Eden - The Paradise of Functional Concurrent Programming" (1996) view details Abstract: The functional concurrent language Eden is an extension of the lazy functional language Haskell by constructs for the explicit specification of dynamic process systems. It employs stream-based communication and is tailored for distributed memory systems. Eden supports and facilitates the task of parallel and concurrent programming. To illustrate this statement the paper includes elegant solutions to traditional concurrency problems.

          in IEEE Trans Soft Eng 11(01) January 1995 view details
  • Silvia Breitinger, Rita Loogen, Yolanda Ortega-Mallén, Ricardo Peña: EDEN - The Paradise of Concurrent Functional Programming, shortened version in Euro-Par'96, LNCS 1123, Springer 1996 view details
          in IEEE Trans Soft Eng 11(01) January 1995 view details
  • Breitinger, Silvia; Loogen, Rita; Ortega-Mallén, Yolanda and Ricardo Peña "The Eden Coordination Model for Distributed Memory Systems" view details External link: Online
          in Workshop on High-level Parallel Programming Models (HIPS'97), . IEEE Computer Science Press, Geneva, Switzerland, April 1997 view details
  • Silvia Breitinger, Ulrike Klusik, Rita Loogen: "Channel Structures in the Parallel Functional Language Eden" Glasgow Workshop on Functional Programming 1997 view details Abstract: In this paper, we describe the handling of channel structures in Eden. Channel structures are crucial for achieving the flexibility and compositionality that is one of the most important aims of Eden. We show alternative mechanisms for treating them and explain why it has been decided to admit the dynamic splitting of channel structures as a feature of the language. The modelling of this in the operational semantics is also described.

          in Workshop on High-level Parallel Programming Models (HIPS'97), . IEEE Computer Science Press, Geneva, Switzerland, April 1997 view details
  • Breitinger, Silvia "Design and implementation of the parallel functional language Eden" Marburg, Dissertation, 1998 view details External link: Online copy in ps
          in Workshop on High-level Parallel Programming Models (HIPS'97), . IEEE Computer Science Press, Geneva, Switzerland, April 1997 view details
  • Breitinger, Silvia, Rita Loogen, Yolanda Ortega-Mallén, Ricardo Peña: Eden - Language Definition and Operational Semantics", Technical Report 96-10, Reihe Informatik, Fachbereich Mathematik und Informatik, Philipps Universität Marburg 1998. view details ps Abstract: Eden is a declarative language for parallel and concurrent programming which is defined as an extension of the lazy functional programming language Haskell. It offers constructs for the explicit specification of processes and supports dynamically evolving process systems. Communication is stream-based. Eden can be used to program both transformational and reactive systems. It is tailored for distributed memory systems and consequently does not rely on any shared structures. Never-theless it can be implemented on shared memory systems equally well.
          in Workshop on High-level Parallel Programming Models (HIPS'97), . IEEE Computer Science Press, Geneva, Switzerland, April 1997 view details
  • Silvia Breitinger, Ulrike Klusik, Rita Loogen, Yolanda Ortega-Mallén, Ricardo Peña "DREAM: The DistRibuted Eden Abstract Machine" IFL '97, LNCS 1467, Springer 1998 view details Abstract: Eden is being implemented by extending the Glasgow Haskell Compiler (ghc) which is based on the Spineless Tagless G-Machine (STGM). In this paper we present a parallel abstract machine which embodies the STGM for sequential computations and describes a distributed runtime environment for Eden programs on an abstract level.
          in Workshop on High-level Parallel Programming Models (HIPS'97), . IEEE Computer Science Press, Geneva, Switzerland, April 1997 view details
  • Klusik, Ulrike and Yolanda Ortega-Mallén, Ricardo Peña "Implementing Eden - or: Dreams Become Reality" IFL'98, LNCS 1595, Springer 1999 view details Abstract: The parallel functional programming language Eden was specially designed to be implemented in a distributed setting. In a previous paper 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.
          in Workshop on High-level Parallel Programming Models (HIPS'97), . IEEE Computer Science Press, Geneva, Switzerland, April 1997 view details
  • Hans-Wolfgang Loidl, Ulríke Klusik, Kevin Hammond, Rita Loogen, Phil Trinder "GpH and Eden: Comparing Two Parallel Functional Languages on a Beowulf Cluster view details
          in 2nd Scottish Functional Programming Workshop, St. Andrews 2000, Intellect, 2001 view details
    Resources