Full description not available
T**T
Just what I needed to advance my Haskell skills.
Many books that claim depth, focus too much on the esoteric. This book is a great combination of depth and practicality. He goes over topics that would actually be useful in real projects.
P**H
A Mix of Good and Not So Good
I've been trying to self-study Haskell for some time now. I read "Programming in Haskell" by Hutton to get a n introduction to the language. I worked successfully through all of the exercises in that book. However, I have found that I need more knowledge to understand how people are actually using Haskell in practice. For that, I purchased the Kindle edition of "Haskell in Depth".My main motivation for purchasing this book was to learn about the State Monad, Monad Transformers, Metaprogramming, RankNTypes, GADTs, Kind, and other more advanced concepts.Part I (Chapters 1-3) helped cement my understanding of type classes and I really liked the approach the author takes to developing the radar and stock quotes applications - requirements->design->types->functions. Also, the introduction to various useful libraries (colonnade, cassava, blaze-html, etc.) from Hackage is valuable.Part II (Chapters 4-6) is a mix of topics. Chapter 4 covers structuring and naming modules and source files, packaging, and various tools. This is clear and very useful in practice. Chapter 5 covers Monads and this is where I start to have trouble. I'm lost trying to follow the discussion of MonadReader. I have a reasonable understanding of basic Monads with the use of the bind and sequence operators and also the syntactic sugar provided by the do notation, but the presentation of MonadReader isn't simple and detailed enough for me to follow. It looks like the following topic of MonadWriter will also be just as challenging. I think a little more detail would help here.I haven't progressed beyond chapter 5 yet. Perhaps I should skip ahead and not get stuck on MonadReader and MonadWriter.On Youtube, there is a presentation of Monads by Lars Brünjes titled "Plutus Pioneer Program - Iteration #2 - Lecture #4" which gives a very nice explanation of Monads using Maybe, Either, and Writer. That's the level of instruction in Haskell that I need.I like that this book is recent and has many of the concepts that I'd like to learn. Unfortunately, the coverage may not be tutorial enough from me to be able to grasp the more difficult concepts.Even after many years of existence, Haskell still feels like an advanced level academic research project for computer scientists. In the forward to this book, Simon Peyton Jones states '"Haskell has a low floor (anyone can learn elementary Haskell), but a stratospherically high "ceiling".' That appears to be true.
Trustpilot
1 month ago
3 days ago