> Tackling the Awkward Squad: monadic I/O, concurrency, exceptions,
> and foreign-language calls in Haskell.
>
> http://research.microsoft.com/~simonpj/papers/marktoberdorf.ps.gz
>
>This 40-page tutorial focuses on explaining the "bits round
>the edges" of Haskell programs, rather than the beautiful
>functional core we all know and love.
....
| given that Dr Peyton Jones co-wrote "Concurrent Haskell" and "Imperative
| Functional Programming", I'm wondering if those words reflect his true
| opinion or whether it is an ironic reference to sentiments he
| has heard from other people.
It's more of the latter than the former. In fact, as my tutorial
tries to show, Haskell is a great imperative and concurrent
programming language. Indeed, you can regard the notes as part
of a proposal to get these "bits round the edges" accepted as part
of the beautiful core. The IO monad is in Haskell 98, but concurrency
and exceptions are not. The Haskell community is rightly cautious
about extending the language.
I'll consider rewording some of the introduction to give a less negative
impression.
Simon