[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 
solution.

> 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