Learning Haskell and FP
Simon Peyton-Jones
simonpj@microsoft.com
Thu, 4 Jan 2001 02:51:23 -0800
| > 1. How the #$!? do I read some data from a file. Good, I've
| > got the data, now I can work on it. Nope, now I have an "IO
| > thingie" whatever that is, but all of the standard functions want
| > a regular "thingie" now what?
Perhaps this would be a good moment to advertise the revised version of
Tackling the Tackling the Awkward Squad:
monadic input/output, concurrency, exceptions,
and foreign-language calls in Haskell
http://research.microsoft.com/~simonpj/#marktoberdorf
(Concerning the thread I'm responding to, it gives an introduction
to monadic input/output.)
I've revised and extended this tutorial quite a bit since I announced it
last year,
with a lot of help from people on the Haskell mailing list: thank you!
Further suggestions are most welcome.
Simon
Abstract
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 lecture notes 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
offer an operational semantics that explains what these extensions
mean.