Reviews

Haskell Programming From First Principles by Julie Moronuki, Christopher Allen

arcanumxiii's review

Go to review page

4.0

As a first draft, it's very impressive - the quality of explanation is high, and except for the (current) latest chapter about datatype, I wouldn't hesitate to recommend it to anyone, even those unfamiliar with the craft of programming.

Now, I want to read everything else !

blrobin2's review

Go to review page

4.0

This book is a labyrinth presented as a learning path. It has multiple dead ends and frustrating skims over material that made me rage quit. The authors do not expect the reader to understand everything the first time read the book. They do not expect you to finish every exercise (they state this much from the outset). The authors, though, do not state WHICH things they do not expect you to understand the first time or WHICH exercises you won’t be able to complete. Sure, that will vary from reader to reader, but if you don’t heed this warning, you will waste too much time spinning out over trivial bits.

My recommendation is this: if you don’t understand something by the end of the chapter, Google it. You might end up ahead of the game sometimes, but you may find another explanation that may better suit your learning style.

Don’t sweat needing a break here and there. I took several throughout, and I came back to the book ready to take on another part.

Overall, the book is one whose approach I could not appreciate until I had finished it. In later sections, the book explained most frustrations I experienced. The book knows this and tries to tell you this. But being a 1200+ page book, you will have doubts. Yes, you need to wait until the end to understand I/O and Exceptions. I appreciated the prior chapters’ knowledge when digging into those monsters.

kras143's review

Go to review page

3.0

The exercises don't exactly match the theory and sometimes I feel lost in unnecessary details.

craigtreptow's review

Go to review page

2.0

TL;DR; An unfinished, hard to follow, mess of a book. Use other Haskell books (and learning resources), then come back to this if you feel you need to.

I know that is harsh, but it's how I feel about it today, the day I decided to give up on the book (for now). I made it through about 3/4, so it's not like I didn't give it a chance.

With a tagline of "Think learning Haskell is difficult? It doesn't have to be.", I really wanted to like this book. This is written in a bit of an "academic" style that I found hard to stick with. There were attempts to make this more "approachable", but too often ideas were presented in passing better than when they were trying to focus on one.

Give the bit of research, the authors had a falling out (Julie doesn't even get paid when we buy this book, it seems). That falling out does explain a lot of my problem with the book since the authors were probably not working well together.

It was simply released in too "raw" of a state and isn't polished enough (especially for the rather high cost of the book). If you haven't bought the book, I'd say hold off and see if other books and resources work for you before you come back to this book.

sassela's review

Go to review page

4.0

Spectacular beginner-level book on learning Haskell from First Principles; well structured, clear (repeated) definitions and plenty of examples and exercises.

The only reason this didn't get a 5* from me is that I wouldn't consider it a standalone resource (which was probably not its intention), but found it much easier to work through alongside other Functional Programming (FP) resources[1] and possibly a small side project to apply what you're learning as you go.

[1] Co-Author Chris Allen reviews other FP learning resources in his Functional Education blog post

doppioslash's review

Go to review page

5.0

Great intro to Haskell, it leaves nothing unexplained, which is the usual problem with Haskell intro resources. It's big, but if you go through all of it you'll have strong foundations. If it's too much you can still skip around and clarify the topics you most need to.
More...