
Chapter 1. Getting Started - Real World Haskell
Compared to Hugs, GHC is more suited to “ real work ”: it compiles to native code, supports parallel execution, and provides useful performance analysis and debugging tools.
Chapter 2. Types and Functions - Real World Haskell
Fixing type errors may initially feel like more work than if you were using a dynamic language. It might help to look at this as moving much of your debugging up front. The compiler shows you …
Why functional programming? Why Haskell?
That being said, Haskell is a rigorous language: it will make you perform more of your thinking up front. It can take a little while to adjust to debugging much of your code before you ever run it, …
Chapter 28. Software transactional memory - Real World Haskell
Whether with concurrency or memory management, there will be times when we must retain control: some software must make solid guarantees about latency or memory footprint, so we …
Chapter 5. Writing a library: working with JSON data
We would like to produce output that is suitable either for human consumption (e.g. for debugging) or for machine processing. Libraries that perform this job are referred to as pretty printers. …
Chapter 12. Barcode recognition - Real World Haskell
The answer is slightly shameful, and has to do with interactive debugging in ghci. When we tell GHC to automatically derive a Show instance for a type, it produces different code depending …