Языки программирования зачастую отличаются лишь отдельными элементами: несколько ключевых слов, библиотек или платформенных решений. Haskell формирует абсолютно новую точку зрения. По мнению пионера программного обеспечения Алана Кея, смена парадигмы может дать 80 баллов IQ, и разработчики на Haskell соглашаются с исключительными преимуществами мышления в стиле Haskell: функционального подхода с ориентацией на типобезопасность, математическую определённость и многое другое.
Эта книга проведёт вас через короткие уроки, примеры и упражнения, разработанные так, чтобы вы смогли прочувствовать Haskell. В книге вы найдёте кристально ясные иллюстрации и легко сможете попрактиковаться. Вы будете писать и тестировать дюжины интересных программ, а также погрузитесь в различные модули и библиотеки. В итоге перед вами откроется новая перспектива в программировании и возможность использовать Haskell в реальном мире (80 баллов IQ не гарантируются).
Для читателей, который уже знают хотя бы один язык программирования.
This is the first book on Haskell that I read end to end and I enjoyed it quite a lot. It's definitely more brief and practical than "Haskell Programming From First Principles" but it's also much less thorough. It gives a reader just enough information to get up to speed with Haskell and start writing first programs without being scared of using (M word here). Only after reading this book I got interested in going back to HPFFP and re-read specific chapters, that this book doesn't cover in great detail. My only complaint with this book is that there's not enough of exercises. I'd recommend it as a first book to anyone who is interested in learning FP or Haskell.
If you're interested in learning Haskell from the beginning, this is probably a good book, slowly covering various features and functional thinking, plus some exercises. As I was already familiar with different points of Haskell, the book didn't have much new information. Only a few chapters are about more real use cases, such as using `stack`, working with HTTP, JSON parsing, using SQLite. Another minor surprise was that the `$` operator was only introduced by the end of the book.
More like 4.5 stars. The book is very well written and newbies in Haskell like me will definitely benefit. Loved the chapters on Functors, Applicative and Monads (26-29). I think this is the only book that explains the "f" in Functor f is for the context, and different from the f in fmap. I always used to get confused but this book made it clear and helped me understand the intricacies. I read this book in parallel with "The Haskell Book" and both helped me better understand Haskell.
Very pragmatic book. Quickly went to the more practical aspects of Haskell. Fun to read and implement. I liked it much better than 'Haskell Book' or 'Learn You a Haskell for Great Good'
Makes me want to read Will Kurt's other book on Statistics.
A decent first introduction to Haskell. It covers a lot of ground with practical examples in end.
I think it lies somewhere in the middle of the other two popular introductory books on haskell - Haskell from first principles and Programming in Haskell - former is kind of over explained and latter is somewhat terse in second part.
I liked the projects part in each unit. It is quite helpful how code is laid out in somewhat bigger examples/projects.
It was quite amazing that first unit was covered without introducing types! Also enjoyed the discussion - context vs container - I don't remember reading any other text making this distinction. It made me looking at these abstractions especially monads in a new way.
One thing I would have preferred that in the book of this size - author should also have covered laws for the patterns introduced - applicatives, monad etc. I found the writing style more like a teacher guiding the reader through his notes - I generally prefer a more formal read without teacher coming in the way.
Well, overall a pretty good first book for Haskell!
Easy to read and not boring Haskell introductory book.
A lot of topics aren't covered deeply due to the book size. Exercises are simple. But I don't consider it's a downside.
The book gives enough knowledge to start digging into the Haskell libraries ecosystem and write some real code.
I read it translated to Russian by Vitaly Bragilevsky. The translation contains a number of typos in the text and in code. Despite it, the translation quality is very good in my opinion.
For Russian speaking audience, I can recommend combining this book with a Haskell course by Denis Moskvin at Stepik.
One of the best introductions to monads that I’ve seen. My only major complaint is that some of the later end of the chapter exercises assume that you have followed along with all the examples in the chapter and thus build off of those examples. Another complaint is that stack has changed a bit since this was written in 2018, so you’ll have to read the stack documentation to make the project examples in the later chapters work.
Excellent book for newcomers to Haskell. I had tried several other introductory texts and none of them worked for me quite like this one. Great for reference material, too.
Honestly, a bit of a struggle to finish this one. I feel like programming books are hit or miss. I think the other had some great examples or toy projects, but the book felt drawn out.
The organization of this book is a bit incoherent. It does not build well in previous concepts to set up new concepts to learn. It does not actually do a reasonable job of teaching the reader how to actually write a program. It feels a bit like someone had a list of things to teach about Haskell, perhaps missing some key items, and split the list up into three groups based on perceived difficulty of the concepts and techniques involved, wrote about them independently with an assumption the reader has some background knowledge to help understand it, then randomized the order of everything within each of those three groups, as a way to teach things from "easy" to "hard".
It's not a good way to organize a programming book.
I gave up after giving it more of a chance than I felt it deserved, then picked up Graham Hutton's Programming In Haskell, which is much, much better.
This is a great resource to get started with the unique functional language that is Haskell and the one I now recommend to all Haskell beginners. It is very accessible, clear and well written.
I takes you from no experience in functional programming to a strong base on which you will be able to build if you are interested in learning more. That means there is a lot of advanced features that are missing but this is not what is expected from an entry level book. You can continue your journey in Haskell with, by order of preference, "Haskell in Depth" or "Haskell Programming from First Principles".