[Haskell-cafe] Parallel + exceptions

Andrew Coppin andrewcoppin at btinternet.com
Sat Jun 23 11:12:52 EDT 2007

Bulat Ziganshin wrote:
> Hello Andrew,
> definitive reading: "Tackling the awkward squad: monadic input/output,
> concurrency, exceptions, and foreign-language calls in Haskell"
> http://research.microsoft.com/Users/simonpj/papers/marktoberdorf/marktoberdorf.ps.gz

I've read it.

Is everything described in that paper actually implemented now? (And 
implemented in exactly the same way as the paper says?)

> in my experience, exceptions are rarely required in Haskell program -
> i use them only to roll out when IO problems occur.

Indeed. Somebody else mentioned Maybe; much cleaner, more intuitive 

> OTOH, concurrency
> is very handy in Haskell/GHC - it's easy to create threads and
> communicate in reliable way, so it's a great tool to split algorithm
> into subtasks. and GHC lightweight threads make it very cheap - you
> may run thousands of threads. example program that uses one thread to
> produce numbers and another to print them is less than 10 lines long

It's nice that you can have millions of threads if you want to do 
something very "concurrent". What I tend to want is "parallel" - doing 
stuff that *could* be done in a single thread, but I want it to go 
faster using my big mighty multicore box. As I understand it, you have 
to do something "special" to make that happen...?

While we're on the subject... has anybody ever looked at using muptiple 
processors on *networked* machines? Haskell's very pure semantics would 
seem quite well-suited to this...

More information about the Haskell-Cafe mailing list