RWTH Leitseite

Abstract: Distributed Programming in Haskell with Ports

We present an extension of the lazy functional programming language Haskell for distributed programming. For the communication between processes we add a port concept. Ports behave like channels in Concurrent Haskell except that only the process which generates a port can read from it. Ports can also be sent through other ports. The receiver can then also write messages through the received port. This is independent of the location in a network. The programmer uses the same functions to write to local or remote ports. Communication between concurrent and distributed processes is programmed with the same functions. Concurrent processes can easily be distributed, for example to provide scalability of a system. In many distributed applications it is necessary that two independently started programs can connect at runtime. Therefore we provide the registration of ports and a lookup of them.

The implementation consists of a library which provides functions for generating new processes, communication between concurrent and distributed processes, and error handling with exceptions.

BibTeX-Entry, Paper

E-Mail Last modified: Tue Apr 30 15:08:46 MEST 2002 / Lehrstuhl für Informatik II
RWTH Aachen