Distributed Haskell
Welcome to Distributed Haskell, a package for developing robust distributed Haskell applications for open system using a mechanism much similar to that in Erlang.
Features
- Erlang style communication using nodes and pids for sending data
deriving (Show,Read)
- Concurrency (using Haskell's
Concurrent module)
- A preprocessor for easy program creation from
.dhs files (desugars <!> & receive)
- A couple of example programs including Dish, the Distributed Haskell Shell for testing your Distributed Haskell programs.
- Written entirely in Literate Haskell :-)
Examples
- A simple 'distributed' counter
- A graphical peer-to-peer Talk-application using gtk+hs
- A small single-threaded database to show the concepts of
linking and receiveAfter
Requirements
- a recent version of the Glorious Glasgow Haskell Compiler (
ghc-4.08 or better required!)
- Although Distributed Haskell will compile under
ghc-4.06, we recommend getting 4.08.1 or better as we discovered some bugs which got fixed on the way.
- a unixish environment (please send us a note if you test this on Win32!)
Download
The archive contains a recent version of Distributed Haskell, including a couple of demonstration programs.
- The source-archive
- The preprocessor currently doesn't have all the features it should, actually almost the only thing it does is expanding
receive & receive after blocks. As it is based on hsparser, we don't think it can handle all of ghc´s new constructs. Anyway, here are the diffs.
Future work
- Provide a function similar to Erlang´s
monitorNode
- Try different network protocols like UDP or MPI
Volker Stolz
Last modified: Wed Jan 31 16:25:39 CET 2001