Distributed programming in Haskell with ports

From MaRDI portal





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 creates 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. Other processes can look them up from anywhere in a network. The implementation consists of a library which provides functions for creating new processes, communication between concurrent and distributed processes, and error handling with exceptions. For the entire collection see [Zbl 0977.68824].





Describes a project that uses

Uses Software






This page was built for publication: Distributed programming in Haskell with ports

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q2763383)