Real World Haskell


This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You’ll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications. Real World Haskell takes you through the basics of functional programming at a brisk pace, and then helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter.

With this book, you will:

  • Understand the differences between procedural and functional programming
  • Learn the features of Haskell, and how to use it to develop useful programs
  • Interact with filesystems, databases, and network services
  • Write solid code with automated tests, code coverage, and error handling
  • Harness the power of multicore systems via concurrent and parallel programming

You’ll find plenty of hands-on exercises, along with examples of real Haskell programs that you can modify, compile, and run. Whether or not you’ve used a functional language before, if you want to understand why Haskell is coming into its own as a practical language in so many major organizations, Real World Haskell is the best place to start.

Table of Contents
Chapter 1. Getting Started
Chapter 2. Types and Functions
Chapter 3. Defining Types, Streamlining Functions
Chapter 4. Functional Programming
Chapter 5. Writing a Library: Working with JSON Data
Chapter 6. Using Typeclasses
Chapter 7. I/O
Chapter 8. Efficient File Processing, Regular Expressions, and Filename Matching
Chapter 9. I/O Case Study: A Library for Searching the Filesystem
Chapter 10. Code Case Study: Parsing a Binary Data Format
Chapter 11. Testing and Quality Assurance
Chapter 12. Barcode Recognition
Chapter 13. Data Structures
Chapter 14. Monads
Chapter 15. Programming with Monads
Chapter 16. Using Parsec
Chapter 17. Interfacing with C: The FFI
Chapter 18. Monad Transformers
Chapter 19. Error Handling
Chapter 20. Systems Programming in Haskell
Chapter 21. Using Databases
Chapter 22. Extended Example: Web Client Programming
Chapter 23. GUI Programming with gtk2hs
Chapter 24. Concurrent and Multicore Programming
Chapter 25. Profiling and Optimization
Chapter 26. Advanced Library Design: Building a Bloom Filter
Chapter 27. Sockets and Syslog
Chapter 28. Software Transactional Memory

Appendix A. Installing GHC and Haskell Libraries
Appendix B. Characters, Strings, and Escaping Rules

Book Details

  • Paperback: 714 pages
  • Publisher: O’Reilly Media (November 2008)
  • Language: English
  • ISBN-10: 0596514980
  • ISBN-13: 978-0596514983
Download [6.7 MiB]

You may also like...

Leave a Reply