DedicationPrefaceChapter 1: Getting StartedChapter 2: Types and FunctionsChapter 3: Defining Types, Streamlining FunctionsChapter 4: Functional ProgrammingChapter 5: Writing a Library: Working with JSON DataChapter 6: Using TypeclassesChapter 7: I/OChapter 8: Efficient File Processing, Regular Expressions, and Filename MatchingChapter 9: I/O Case Study: A Library for Searching the FilesystemChapter 10: Code Case Study: Parsing a Binary Data FormatChapter 11: Testing and Quality AssuranceChapter 12: Barcode RecognitionChapter 13: Data StructuresChapter 14: MonadsChapter 15: Programming with MonadsChapter 16: Using ParsecChapter 17: Interfacing with C: The FFIChapter 18: Monad TransformersChapter 19: Error HandlingChapter 20: Systems Programming in HaskellChapter 21: Using DatabasesChapter 22: Extended Example: Web Client ProgrammingChapter 23: GUI Programming with gtk2hsChapter 24: Concurrent and Multicore ProgrammingChapter 25: Profiling and OptimizationChapter 26: Advanced Library Design: Building a Bloom FilterChapter 27: Sockets and SyslogChapter 28: Software Transactional MemoryInstalling GHC and Haskell LibrariesCharacters, Strings, and Escaping RulesColophon