HaskellWiki

Haskell | Wiki community | Recent changes
Random page | Special pages

 

Not logged in
Log in | Help

GHC/Concurrency

< GHC

Categories: GHC

Contents

1 Concurrent programming in GHC

This page contains notes and information about how to write concurrent programs in GHC.

Please feel free to add stuff here (Edit page link at the bottom).

1.1 Starting points

STM was added to GHC 6.4, and is described in the paper Composable memory transactions. The paper Lock-free data structures using Software Transactional Memory in Haskell gives further examples of concurrent programming using STM.


1.2 Using concurrency in GHC


1.3 Multiprocessor GHC

As of version 6.5, GHC supports running programs in parallel on an SMP or multi-core machine. How to do it:

1.4 Links to related work on parallel and distributed Haskell (many based on GHC)

2 Problems with GHC implementation before 6.6.1

There are critical differences between the description in the paper "Asynchronous exceptions in Haskell by Simon Marlow, Simon Peyton Jones, Andy Moran and John Reppy, PLDI'01." the implementation in GHC 6.4 and GHC 6.6 today.

Some of the bad effects are described here under throwTo & block statements considered harmful.

The versions of GHC from 6.6.1 and up have fixed the problematical difference.


Retrieved from "http://haskell.org/haskellwiki/GHC/Concurrency"

This page has been accessed 9,091 times. This page was last modified 17:09, 9 February 2007. Recent content is available under a simple permissive license.