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

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to