The distributed evaluation of functional programs and the communication between computational
nodes require high-level process description and coordination mechanism. This paper
presents the D-Clean high-level functional language, which supports the distributed
computation of Clean functions over a cluster. The lazy functional programming language
Clean is extended by new language elements in order to achieve parallel features.
The distributed computations of functions are expressed in the form of process-networks.
D-Clean introduces language primitives to control the dataflow in a distributed process-network.
A process scheme defines a partial computation graph, where the nodes are functions
to be evaluated and the edges are communication channels. The computational nodes
are implemented as statically typed Clean programs. The schemes are parameterized
by functions, types and data for defining process networks. D-Clean is compiled to
an intermediate level language called D-Box. The D-Clean generic constructs are instantiated
into D-Box expressions. D-Box is designed for the description of the computational
nodes. D-Box expressions hide implementation details and enable direct control over
the process-network. The asynchronous communication is based on language-independent
middleware services. The present paper provides the syntax and the informal semantics
of both coordination languages. To illustrate the definition of a distributed functional
computational pattern using the D-Clean language a farm skeleton running example is