Introducing functional programming in the Haskell language, this book is written for students and programmers with little or no experience. It emphasises the process of crafting programmes, problem solving and avoiding common programming pitfalls. Covering basic functional programming, through abstraction to larger scale programming, students are lead step by step through the basics, before being introduced to more advanced topics. This edition includes new material on testing and domain-specific languages and a variety of new examples and case studies, including simple games. Existing material has been expanded and re-ordered, so that some concepts – such as simple data types and input/output – are presented at an earlier stage.
Mesmo sendo um pouco chato às vezes o livro traz uma introdução muito boa à programação funcional, esmiuçando boa parte das funcionalidades mais importantes de Haskell. Acho que aprender outro paradigma é bastante interessante ao perceber formas completamente diferentes de resolver mesmos problemas que a programação imperativa ou orientada a objetos traz, além de amadurecer muito o conhecimento em recursão, já que TUDO na linguagem é baseado nessa ferramenta, e aliado ao aprendizado de Haskell o livro traz mais um aprendizado exotérico e teórico, mas que acredito que traz novas ideias antes escondidas, além de que eu percebi que várias características e métodos funcionais podem ser vistas em outras linguagens e frameworks como R, React ou MapReduce do Apache Hadoop. Um dos pontos altos do livro é a descrição de diversas estruturas e funções que estão na biblioteca base de Haskell, Prelude, é bastante interessante ver implementações bastantes inteligentes e concisas , o que é próprio de Haskell, para resolver diversos problemas.
I'm learning this language from the beginning, so this may not have been the ideal book to start with. I did try to go along with what is there and do many of the exercises, but it seemed to go too fast, too quickly. This is probably a me issue rather than any fault of the book, but I will look elsewhere for guides to this fascinating language.
A great introduction to Haskell, but rather shallow and certainly lacking real indication as to the power of the language, and the thinking necessary to exploit it. I liked The Haskell Road to Logic, Maths and Programming more both as a book on Haskell (shorter than Thompson's book, but more complete) and an introduction to computability.
If you aren't experienced with functional programming, this book is probably best fit to start with haskell. But it's probably better to pick some other book to learn haskell if you have already learned functional language, such as scheme or standard ml. I give it five stars because it's an excellent introduction, but people with prior knowledge of functional programming may find the first thirteen chapters little boring.
I read the 2nd edition which is a bit out of date, using Hugs rather than GHCi - otherwise I suspect I'd have liked this more. I think this would be good for someone new to functional programming who hasn't yet read Learn You a Haskell. It's an easier read than LYAH (lighter on the category theory), and was mostly review from that book and doing FP in Clojure.
Very good explanation of the language as well as the principles of functional programming. The chapters of reasoning of functional programs are really really worth reading many times. Explains the relationship between types, testing, property based testing and equational reasoning. My review is for the 3rd edition of the book. GR shows the second edition.
The presentation is a bit messy in this book. Not recommended as the first book for Haskell. The content of this book is too basic so it is not suitable as an intermediate book either... Well, to sum up I won't recommend it at all.
A clear, dense guide to Haskell guided by examples. A totally engrossing and fun read. I wish it talked about Monads more but I think that might double the size of the book.