Multicore Haskell Now!*
Multicore computers are here: is your programming language ready?
Haskell is a functional language built for parallel and concurrent programming. You can take an off-the-shelf copy of GHC and write high performance parallel programs right now. This tutorial will teach you how to exploit parallelism through Haskell on your commodity multicore machine, to make your code faster. We will introduce key parallel programming models, as implemented in Haskell, including:
- semi-explicit parallelism via sparks
- explicit parallelism via threads and shared memory
- software transactional memory
and look at how to build faster programs using these abstractions. We will also look at the engineering considerations when writing parallel programs, and the tools Haskell provides for debugging and reasoning about parallel programs.
This is a hands on tutorial session: bring your laptops, there will be code!
Hacker of well-typed software, open source community organizer. Lambda mechanic.
I’m an Australian open source hacker, and engineer at Galois, in Portland, Oregon, where I work on creating trustworthiness and assurance in critical systems (mostly in Haskell) with an emphasis on language design and compiler techniques. I’m co-author of Real World Haskell, published by O’Reilly (and available in wiki form), and the XMonad window manager. I’m also mad keen on cycling, and the beer of the Pacific NW.