Deriving non-hierarchical process topologies
Trends in functional programming
B(PN)2 - a Basic Petri Net Programming Notation
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
GpH and Eden: Comparing two parallel functional languages on a Beowulf cluster
Selected papers from the 2nd Scottish Functional Programming Workshop (SFP00)
HaskSkel: Algorithmic Skeletons in Haskell
IFL '99 Selected Papers from the 11th International Workshop on Implementation of Functional Languages
Comparing Parallel Functional Languages: Programming and Performance
Higher-Order and Symbolic Computation
An extension to the subtype relationship in C++ implemented with template metaprogramming
Proceedings of the 2nd international conference on Generative programming and component engineering
Advances in dataflow programming languages
ACM Computing Surveys (CSUR)
Parallel elementwise processable functions in concurrent clean
Mathematical and Computer Modelling: An International Journal
Extending the sparkle core language with object abstraction
Acta Cybernetica
Proving program properties specified with subtype marks
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Generic Executable Semantics for D-Clean
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
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 presented.