Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell
Simon Peyton Jones · 2005
Functional programming may be beautiful, but to write real applications we must grapple with awkward real-world issues: input/output, robustness, concurrency, and interfacing to programs written in other languages. These draft lecture notes, for the 2000 Marktoberdorf Summer School, give an overview of the techniques that have been developed by the Haskell community to address these problems. I introduce various proposed extensions to Haskell along the way, and I oer an operational semantics that explains what these extensions mean. I have to deliver camera-ready copy of the nal version of these notes in early November 2000. If you have any suggestions for how I might improve them before then, I would be absolutely delighted to receive them. (My email address is above.) I am particularly interested to know whether there are any passages in which you got lost, or felt that you missed the point, so that I can try to make them clearer. The Powerpoint slides I used for the le...