The design and implementation of Glasgow distributed Haskell
This paper presents the design and implementation of Glasgow distributed Haskell (GdH), a non-strict distributed functional language. The language is intended for constructing scalable, reliable distributed applications, and is Haskell'98 compliant, being a superset of both Concurrent Haskell and Glasgow parallel Haskell (GpH). GdH distributes both pure and impure threads across multiple Processing Elements (PEs), each location is made explicit so a program can use resources unique to PE, and objects including threads can be created on a named PE. The location that uniquely owns a resource is identified by a method of a new \texttt{Immobile} type class. Impure threads communicate and synchronise explicitly to co-ordinate actions on the distributed state, but both pure and impure threads synchronise and communicate implicitly to share data. Limited support for fault tolerant programming is provided by distributed exception handling. The language constructs are illustrated by example, and two demonstration programs give a flavour of GdH programming. Although many distributed functional languages have been designed, relatively few have robust implementations. The GdH implementation fuses and extends two mature implementation technologies: the GUM runtime system (RTS) of GpH and the RTS for Concurrent Haskell. The fused RTS is extended with a small number of primitives from which more sophisticated constructs can be constructed, and libraries are adapted to the distributed context. For the entire collection see [Zbl 0977.68824].
- Distributed programming in Haskell with ports
- An Introduction to iTasks: Defining Interactive Work Flows for the Web
- scientific article; zbMATH DE number 2000440 (Why is no real title available?)
- scientific article; zbMATH DE number 2000445 (Why is no real title available?)
- Parallel distributed programming with Haskell+PVM
- Distributed arrays in the functional language Concurrent Clean
- Computation semantics of the functional scientific workflow language Cuneiform
This page was built for publication: The design and implementation of Glasgow distributed Haskell
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q2763378)