
Monadic IO, concurrency, exceptions, and foreign-language calls in Haskell - jxub
https://www.microsoft.com/en-us/research/publication/tackling-awkward-squad-monadic-inputoutput-concurrency-exceptions-foreign-language-calls-haskell/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Fsimonpj%2Fpapers%2Fmarktoberdorf%2F
======
jgforbes
That is a pretty good walkthrough of the "harder" parts of functional
programming.

Although, I always found it telling that the language designers needed the
"do" imperative notation for monadic state computations.

While the benefits of monadic-state are pretty well known at this point, it
does seem interesting that for widespread adoption it has to be "wrapped" in
an abstraction more familiar to developers.

