Tackling the Awkward Squad: monadic input/output ...

Functional programming may be beautiful, but to write real applications we must grapple with awk-ward real-world issues: input/output, robustness, concurrency, and interfacing to programs written in other languages. These lecture notes give an overview of the techniques that have been developed by the Haskell community to address these problems ... ................
................