10 research outputs found
From (sequential) Haskell to (parallel) Eden: An Implementation Point of View
. 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. 1 Introduction Due to the side effect freedom of the reduction semantics of functional languages it is possible to evaluate independent subexpressions in arbitrary order or in parallel. This implicit parallelism is semantically transparent and allows the automatic parallelization of functional programs. In available parallel functional systems like the Glasgow parallel Haskell (GpH) system [17] or the Nijmegen CLEAN system [19] the programmer is asked to place annotations in programs. ..
Towards a Declarative Language for Parallel and Concurrent Programming
We define a new language Eden by extending a functional language by constructs for the explicit specification of dynamic process systems. Concurrent systems can be classified either as transformational or reactive. For modelling the class of transformational systems, the introduction of a function-like abstraction mechanism is sufficient. In addition to this, the extra-functional concepts predefined nondeterministic processes and dynamic reply channels make the definition of reactive systems possible. The former construct is used to handle time-dependencies. The latter, which is similar to the incomplete message principle from concurrent logic programming, is a powerful mechanism for the treatment of dynamically specified communication channels. 1 Introduction Most parallel programming languages used nowadays are based on the imperative programming paradigm. In such languages, synchronization and communication between processes must be handled by the programmer at a low level of abst..
The Eden Coordination Model for Distributed Memory Systems
Eden is a concurrent declarative language that aims at both the programming of reactive systems and parallel algorithms on distributed memory systems. In this paper, we explain the computation and coordination model of Eden. We show how lazy evaluation in the computation language is fruitfully combined with the coordination language that is specifically designed for multicomputers and that aims at maximum parallelism. The two-level structure of the programming language is reflected in its operational semantics, which is sketched shortly