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 _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe