Concurrent Haskell Debugger (CHD)
Haskell is a concurrent extesion of the lazy, purely functional
programming language Haskell
98. It extends Haskell by IO actions for creating concurrent
threads and communication primitives like mutable variables, channels
and two kinds of semaphors.
For debugging Concurrent Haskell application we provide the debugger
library ConcurrentDebug. It can be used by replacing "import
Concurrent" by "import ConcurrentDebug" in each module of the
application. It works with ghc
version 5 and the TclHaskell
library (with a slight correction in the export list of the module
Tcl.hs: add ScrollUnit(..),).
Download the library here.
For more details see this paper.
Software Transactional Memory (STM)
The Glasgow Haskell Compiler (ghc)
provides a transaction concept as communication primitive for
concurrent programming. We developed a library implemening STMs within
Concurrent Haskell, which can be executed with any implementation of
Concurrent Haskell including ghc and
Hugs, presented in this
paper (submitted to IFL'05).
The library can be downloaded here.
For further information contact Frank Huch.