Programming Languages and Compiler Construction Institute of Computer Science and Applied Mathematics

Concurrent Haskell Debugger (CHD)

Concurrent 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.
E-Mail Last modified: Wed Nov 23 16:14:39 CET 2005 Christian-Albrechts-University of Kiel