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