views:

244

answers:

4

Hi I'm learning Haskell and I'd like to write some multithreaded programs now to see the performance gains from that in a functional language. I can find some references to it on the internet but never a proper introduction to it. Can anyone point me to a guide which is understandable for someone who knows the syntax fairly well, but is not a wizard in Haskell?

+3  A: 

Have you read Real Word Haskell?
http://book.realworldhaskell.org/read/concurrent-and-multicore-programming.html

Bastien Léonard
A: 

This wiki has some references. It appears concurrent Haskell is very fast (see the first row in this table for example).

Yasir Arsanukaev
MtnViewMark
Wow, IronPython beat F#? Java beat OCaml? I think this benchmark is also flawed...
BlueRaja - Danny Pflughoeft
igouy
@BlueRaja - the IronPython program should have been shown as an alternative along with the other measurements of that same program using CPython and PyPy and Python3.
igouy
@BlueRaja - measure the Java program and OCaml program yourself, and contribute a better OCaml program if you can.
igouy
+2  A: 

I think the paper "A Tutorial on Parallel and Concurrent Programming in Haskell" is the perfect starting point for you. You can find it here:

http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/index.htm

svenningsson
+3  A: 

I gave a 3 hour course on this topic at DEFUN 2009. The slides and code are online: Multicore Haskell Now!

Don Stewart