[Haskell-cafe] Parallel + exceptions

Donald Bruce Stewart dons at cse.unsw.edu.au
Sun Jun 24 03:57:32 EDT 2007


andrewcoppin:
> 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...
> 

MPI/cluster stuff has also been done a fair bit, but in these days SMP
multicore machines are a hot topic. Start here:

    http://haskell.org/haskellwiki/Applications_and_libraries/Concurrency_and_parallelism

P.S. An awful lot of your questions are previously answered on the wiki :-)
It's a good resource!

-- Don


More information about the Haskell-Cafe mailing list