Real World Haskell
by Bryan O'Sullivan, Don Stewart, and John Goerzen
Why functional programming? Why Haskell?
1.
Getting started
2.
Types and functions
3.
Defining types, streamlining functions
4.
Functional programming
5.
Writing a library: working with JSON data
6.
Using typeclasses
7.
Input and output
8.
Efficient file processing, regular expressions, and file name matching
9.
I/O case study: a library for searching the filesystem
10.
Code case study: parsing a binary data format
11.
Testing and quality assurance
12.
Barcode recognition
13.
Data structures
14.
Monads
15.
Programming with monads
16.
The Parsec parsing library
17.
The foreign function interface
18.
Monad transformers
19.
Error handling
20.
Systems programming
21.
Working with databases
22.
Web client programming
23.
GUI programming
24.
Basic concurrent and parallel programming
25.
Profiling and tuning for performance
26.
Advanced library design: building a Bloom filter
27.
Network programming
28.
Software transactional memory
B.
Installing GHC and Haskell libraries
C.
Characters, strings, and escaping rules
D.
Web site and comment system usage and policies