Haskell in Depth unlocks a new level of skill with this challenging language. Going beyond the basics of syntax and structure, this book opens up critical topics like advanced types, concurrency, and data processing.
Turn the corner from “Haskell student” to “Haskell developer.” Haskell in Depth explores the important language features and programming skills you’ll need to build production-quality software using Haskell. And along the way, you’ll pick up some interesting insights into why Haskell looks and works the way it does. Get ready to go deep!
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the technology
Software for high-precision tasks like financial transactions, defense systems, and scientific research must be absolutely, provably correct. As a purely functional programming language, Haskell enforces a mathematically rigorous approach that can lead to concise, efficient, and bug-free code. To write such code you’ll need deep understanding. You can get it from this book!
About the book
Haskell in Depth unlocks a new level of skill with this challenging language. Going beyond the basics of syntax and structure, this book opens up critical topics like advanced types, concurrency, and data processing. You’ll discover key parts of the Haskell ecosystem and master core design patterns that will transform how you write software.
Building applications, web services, and networking apps Using sophisticated libraries like lens, singletons, and servant Organizing projects with Cabal and Stack Error-handling and testing Pure parallelism for multicore processors
About the reader
For developers familiar with Haskell basics.
About the author
Vitaly Bragilevsky has been teaching Haskell and functional programming since 2008. He is a member of the GHC Steering Committee.
Table of Contents
PART 1 CORE HASKELL 1 Functions and types 2 Type classes 3 Developing an application: Stock quotes PART 2 INTRODUCTION TO APPLICATION DESIGN 4 Haskell development with modules, packages, and projects 5 Monads as practical functionality providers 6 Structuring programs with monad transformers PART 3 QUALITY ASSURANCE 7 Error handling and logging 8 Writing tests 9 Haskell data and code at run time 10 Benchmarking and profiling PART 4 ADVANCED HASKELL 11 Type system advances 12 Metaprogramming in Haskell 13 More about types PART 5 HASKELL TOOLKIT 14 Data-processing pipelines 15 Working with relational databases 16 Concurrency